Aspose.Words五 MergeField
通过MegerField来循环,将数据保存到dataset的table中,dataset通过关联datarelation字段来指定主从表关系。模板中通过标签TableStart和TableEnd来框定table的作用范围,主从表可以多层嵌套。
aspose.words下载
1>画模板,用wps或微软的office画出下图表格,其中带《》的文本是域。嵌套循环用TableStart和TableEnd来界定作用范围。
1.1>wfs添加域,插入>>文档部件>>域>>邮件合并,见图一
1.2> office添加域,插入>>文档部件>>域>>MergeField,见图二

图一

图二
2>代码部分
string templateFile = Server.MapPath("score_tmplt.doc");
string savePath = Server.MapPath("score.doc");
//用户表(主表)
DataTable userTable = new DataTable("UserList");
userTable.Columns.Add(new DataColumn("Id", typeof(int)));
userTable.Columns.Add("UserName");
userTable.Columns.Add("Gender");
userTable.Columns.Add("BirthDay");
userTable.Columns.Add("Address");
userTable.Rows.Add(1, "菜鸟程序员1", "男", "83年", "武汉");
userTable.Rows.Add(2, "菜鸟程序员2", "男", "88年", "武汉");
//分数表(从表)
DataTable userScoreTable = new DataTable("ScoreList");
userScoreTable.Columns.Add(new DataColumn("UserId", typeof(int)));
userScoreTable.Columns.Add(new DataColumn("Id", typeof(int)));
userScoreTable.Columns.Add("Name");
userScoreTable.Columns.Add("Score");
userScoreTable.Rows.Add(1, 1, "文科", "100");
userScoreTable.Rows.Add(1, 2, "理科", "100");
userScoreTable.Rows.Add(2, 3, "文科", "100");
//载入模板
var doc = new Document(templateFile);
//提供数据源
DataSet dataSet = new DataSet();
dataSet.Tables.Add(userTable);
dataSet.Tables.Add(userScoreTable);
//建立主从报表的关联
dataSet.Relations.Add(new DataRelation("ScoreListForUser", userTable.Columns["Id"], userScoreTable.Columns["UserId"]));
//合并模版,相当于页面的渲染
doc.MailMerge.ExecuteWithRegions(dataSet);
doc.Save(savePath);
Aspose.Words五 MergeField的更多相关文章
- Aspose Word模板使用总结
Aspose Word模板使用总结 1.创建word模版,使用MergeFeild绑定数据 新建一个Word文档,命名为Template.doc 注意:这里并不是输入"< ...
- aspose.word使用简单方法
概念介绍 使用aspose生成word报表步骤: 加载word模板 提供数据源 填充 加载模板 提供了4种重载方法 public Document(); public Document(Stream ...
- Aspose.word总结
1.创建word模版,使用MergeFeild绑定数据 新建一个Word文档,命名为Template.doc 注意:这里并不是输入"<”和“>”就可以了,而是必须 ...
- 使用Aspose.Cells利用模板导出Excel(C#)
前言 随着互联网的流行,web项目逐渐占据主流.我相信大部分人开发项目的过程中都写过上传以及导出Excel和Word的功能,本文仅讨论导出Excel.C#中有很多第三方组件支持导出Excel,比如:N ...
- Pdf文件处理组件对比(Aspose.Pdf,Spire.Pdf,iText7)
目的 因为公司是做医疗相关软件的,所以经常和文档打交道,其中就包含了Pdf.医院的Pdf(通常是他们的报告)都千奇百怪,而我们一直以来都是在用一些免费且可能已经没人维护了的组件来处理Pdf,所以就经常 ...
- aspose.word 使用简单方法
aspose.word使用简单方法 概念介绍 使用aspose生成word报表步骤: 加载word模板 提供数据源 填充 加载模板 提供了4种重载方法 1 2 3 4 5 public Documen ...
- Aspose.Words导出图片 表格 Interop.Word
先定义一个WORD 模板, 然后替换文本.域 ,定位开始表格 文本和段落 // Specify font formatting Aspose.Words.Font font = builder.Fon ...
- WPF使用Aspose.Words导出Word文档
一.创建Word文档模板 分析需要导出的word文档,将固定的内容和由程序生成的内容分开; 创建一个word(例如:Template.doc)文档,将固定的内容按照一定的格式写入当前文档中; 打开Te ...
- 使用Aspose.word (Java) 填充word文档数据(包含图片填充)
Aspose填充word数据 本文介绍了如何使用aspose进行word文档的生成,并提供了工具类供参考. 有问题欢迎 call 微信:905369866,小弟尽力而为..毕竟这玩意没吃透. 目录 A ...
随机推荐
- oracle第四天笔记
游标 /* 序列: ORACLE使用来模拟ID自动增长的 */ create sequence seq_test4; create table test2( tid number primary ke ...
- unity Flash Animation Toolset插件使用
插件网站:http://matov.me/flash-animation-toolset/ 1.在unity上打开资源商店,Window -> Asset Store -> 搜索Flash ...
- git使用 从远程库克隆和更新到本地
从远程库克隆到本地. git clone git@github.com:kingbook/Framework.git 或 git clone http://github.com/kingBook/Fr ...
- [ 测试思维 ] 启发式测试策略模型(HTSM)
什么是HTSM 启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是测试专家James Bach提出的一组帮助测试设计的指南(Guide line).HTS ...
- [PHP]对Json字符串解码返回NULL的一般解决方案
---------------------------------------------------------------------------------------------------- ...
- Java swing 项目写成bat文件
java -Dfile.encoding=GBK -Xms512m -Xmx512m -cp .;.\lib\* com.bozhirui.show.TableIn 以上为bat 文件的所有内容 ...
- 1.Tomcat配置.md
1.启动 解压缩安装包后,点击startup.bat,保持控制台窗口开启 浏览器中输入http://localhost:8080 后看到启动界面则表示启动成功 点击shutdown.bat则关闭Tom ...
- ArcGIS自定义工具箱-自增字段(可以设置初始值和步长)
ArcGIS自定义工具箱-自增字段(可以设置初始值和步长) 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:字段值初始值为设定值(默认为0),每次增加一个步长( ...
- C#导出Excel,某单元格内容长度超过255 的解决方法
public static void ToExcel(DataTable dtSource, string strPath, string strSheetName) { System.Data.Ol ...
- oracle 中如何定位重要(消耗资源多)的SQL
链接:http://www.xifenfei.com/699.html 标题:oracle 中如何定位重要(消耗资源多)的SQL 作者:惜分飞©版权所有[文章允许转载,但必须以链接方式注明源地址,否则 ...