利用aspose在word中输出表格

序号   姓名   性别
 <<TableStart:T>><<Index>>  <<Name>>    <<Sex>><<TableEnd:T>>

数据源一般是System.Data.DataTable

有两种方式可以实现这个功能。

通过绑定。

在表格中设置域字段。需要注意的是,域的名称应与DataTable中的字段想对应。表的名称应与T一直。

这个和.net数据展现控件一致。比如,gridview,reapeter..

设置好模板与数据源后,只需一句话即可实现数据绑定。

doc.MailMerge.ExecuteWithRegions("T");

优点,代码少。设置好word模板后,提起数据源,进行绑定即可。  

适用于简单正规的表格,复杂表格不适合这种方式。

需要注意:

如果表格外,存在同样一个名称的域字段,那使用下面的方法时会替换全部域字段。也就是说,不会区分该域字段是否独立的,还是包含在表格中的。

builder.MoveToMergeField("n");
builder.Write(value.ToString());

通过代码输出表格

方式一、

核心代码:

builder.InsertCell();/*插入一个单元格*/
builder.CellFormat.VerticalMerge = CellMerge.None;/*设置该单元格的合并性质*/
builder.EndRow();/*结束本行*/

输出单元格,设置单元格的合并方式。具体操作可以参考博客园另外一篇博文,点击

出现过表格不自动合并的情形。

方式二、

如果单元格不需要合并,但行数不固定,推荐!

核心代码:

var dt1 = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, 1, true);
Row clonedRow = (Row)dt1.LastRow.Clone(true);
foreach (Cell cell in clonedRow.Cells) cell.RemoveAllChildren();
dt1.AppendChild(clonedRow);

  查找需要进行操作的表格,选定最后一行,作为模板,清除单元格的数据,以向该表格增加新行,将该行添加到表格中。

循环,可添加多行。

数据添加可以先通过builder.MoveToCell移动到指定单元格,再使用builder.Write在单元格中输出数据。

该操作过程和DataTable添加新行类似。

表格吻合很好。

对齐

对齐有垂直对齐和水平对齐两种。

垂直对齐

builder.CellFormat.VerticalAlignment=CellVerticalAlignment.Center;

水平对齐

builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;

aspose输出表格的更多相关文章

  1. 用JavaScript输出表格

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. Javascript输出表格

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. vue v-for输出表格结构

    v-for输出表格结构 数据库结构如下: 原理: 两个数组 a, b,  数组a的值,是数组b的键(索引), 变量拼接(红色区域): <table> <tr> <th v ...

  4. [shell脚本]在Linux终端可视化输出表格数据

    最终效果 1. 自定义表格样式 2. 自定义主题颜色 支持三系普通颜色 支持16色彩虹色 支持单颜色 回顾一下shell语法 1. shell传递参数 我们可以在执行shell脚本时实时传递参数从而指 ...

  5. Aspose.Word 输出表格后空格字符丢失的解决方法

    将datatable输出到word,执行如下代码. doc.MailMerge.ExecuteWithRegions(outDt); 执行完后发现第一列含前缀空格的字段值,空格字符被自动清除了. 解决 ...

  6. PHP 输出表格单元格的数据之用表单的方式;

    echo "<table border=1 class="imagetable" >"; //使用表格格式化数据echo "<for ...

  7. Python之使用转义序列 \n 和 \t 跟 expandtabs 函数输出表格

    示例: text = "username\temail\tpassword\nashdfh\tfiodfh@q.com\ty567\nsdfiuh\tadfhisoj@163.com\t42 ...

  8. thinkphp输出表格

    //这是打印5列n行的表格,所以mod="5" value="4" <tr> <volist name="data" id ...

  9. 013-PHP输出表格

    <?php // 数据表格化 print("<TABLE bgcolor='ffccoo' BORDER=\"1\">\n"); // 表格开 ...

随机推荐

  1. Leetcode: strStr()

    Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle ...

  2. IDTHook 深入学习

    在之前的一篇文章中介绍了替换IDT向量表中的地址来达到Hook的目的 IDT hook KiTrap03 但是这样很容易就可以被检测了.接下来要学习就是通过patch GDT来达到Hook IDT的目 ...

  3. 用httpPost对JSON发送和接收的例子

    HTTPPost发送JSON: private static final String APPLICATION_JSON = "application/json";         ...

  4. session原理总结

    session原理总结 session多服务器共享的方案梳理 session原理 session的工作原理 客户端禁用cookie时session解决方案[转]

  5. C语言一个简单的闹钟程序

    #include <stdio.h> #include <stdbool.h> #include <Windows.h> ; i < ; ++i) { // ...

  6. Linux Shell查看磁盘分区,内存使用,CPU使用率

    Linux Shell查看磁盘分区,内存使用,CPU使用率 #!/bin/bash #disk_used_rate Location=/dev/xvdb Disk_Used_Rate=$(df -h ...

  7. QTreeWidget的一个例子,C++语法和item迭代循环都比较巧妙

    学习一下,据说QTreeWidget简单好用,不需要单独设置Model和View,更没有delegate.Signal和Slot应该可以正常使用(未验证,以后补充). #include <QtG ...

  8. linux查看内存

    cat /proc/meminfo 查看内存,查看最为准确. cat /proc/cpuinfo  察看CPU情况. dmesg | less   这样也可以看到,不过带太多的其他信息了. top也可 ...

  9. 网页爬虫的设计与实现(Java版)

    网页爬虫的设计与实现(Java版)     最近为了练手而且对网页爬虫也挺感兴趣,决定自己写一个网页爬虫程序. 首先看看爬虫都应该有哪些功能. 内容来自(http://www.ibm.com/deve ...

  10. Python命令行解析库argparse

    2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 1.example 有一道面试题:编写一个脚本main.py,使用方式如下: ...