利用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;

最新文章

  1. 使用jQuery Uploadify在ASP.NET 上传附件
  2. Integer 中的缓存类IntegerCache
  3. [转载]iOS Provisioning Profile(Certificate)与Code Signing详解
  4. MAC 卸载 openfire
  5. session204 imessageApp sticker part I要点
  6. iOS开发之网络编程--6、NSURLSessionConfiguration笔记
  7. R语言-merge和rbind
  8. App接口中json方式封装通信接口
  9. XPath 定位----光荣之路
  10. LCA(最近公共祖先)离线算法Tarjan+并查集
  11. Smarty模板中调用PHP函数
  12. UILabel 自动换行 和支持换行符
  13. ubuntu设置固定ip
  14. 传输层之UDP
  15. SCALA常规练习C
  16. table超过30个字段如何处理呢? bootstrap
  17. 【零基础学习iOS开发】【01-前言】01-开篇
  18. 识别图片中文字(百度AI)
  19. DevExpress v18.2新版亮点——Reporting篇(一)
  20. dubbo-2.5.6优雅停机研究

热门文章

  1. windows 两个用户,默认其中一个用户登录
  2. CodeIgniter API
  3. HDU 1026 Ignatius and the Princess I (BFS)
  4. m_pMainWnd(转载)
  5. volatile 关键字的复习
  6. http://my.oschina.net/u/719192/blog/506062?p={{page}}
  7. 欧拉工程第53题:Combinatoric selections
  8. maven也是apache下的项目
  9. JavaWeb项目开发案例精粹-第4章博客网站系统-002辅助类及配置文件
  10. 创建git标签【转】