Aspose Word模板使用总结
来源:互联网 发布:手机搜索软件 编辑:程序博客网 时间:2024/05/16 04:41
1.创建word模版,使用MergeFeild绑定数据
新建一个Word文档,命名为Template.doc
注意:这里并不是输入"《”和“》”就可以了,而是必须在菜单的"插入→文档部件→域”找到MergeField并输入相应的域名
2.使用数组提供数据源
string tempPath = Server.MapPath("~/Docs/Temp/Template.doc");
string outputPath = Server.MapPath("~/Docs/Output/Template.doc");
//载入模板
var doc = new Document(tempPath);
//提供数据源
String[] fieldNames = new String[] {"UserName", "Gender", "BirthDay", "Address"};
Object[] fieldValues = new Object[] {"张三", "男", "1988-09-02", "陕西咸阳"};
//合并模版,相当于页面的渲染
doc.MailMerge.Execute(fieldNames, fieldValues);
//保存合并后的文档
doc.Save(outputPath);
3.创建循环数据的模版,这里的循环数据类似页面的for结构,不拘泥于形式table
«TableStart:UserList»
姓名:«UserName»
«TableEnd:UserList»
4.使用DataTable提供数据源
//创建名称为UserList的DataTable
DataTable table=new DataTable("UserList");
table.Columns.Add("UserName");
table.Columns.Add("Gender");
table.Columns.Add("BirthDay");
table.Columns.Add("Address");
//----------------------------------------------------------------------------------------------------
//载入模板
var doc = new Document(tempPath);
//提供数据源
var datatable= GetDataTable();
//合并模版,相当于页面的渲染
doc.MailMerge.ExecuteWithRegions(datatable);
var docStream = new MemoryStream();
doc.Save(docStream, SaveOptions.CreateSaveOptions(SaveFormat.Doc));
return base.File(docStream.ToArray(), "application/msword","Template.doc");
5.绑定带有子循环数据模版
6.使用DataSet提供数据源
Document documentAspose = new Document("E:\\ApiService\\docx\\a.docx");
DocumentBuilder builder = new DocumentBuilder(documentAspose);
//用户表结构
DataTable table = new DataTable("UserList");
table.Columns.Add(new DataColumn("Id", typeof(int)));
table.Columns.Add("UserName");
var row= table.NewRow();
row["Id"] = 1;
row["UserName"] = "黄华东";
var row1 = table.NewRow();
row1["Id"] = 2;
row1["UserName"] = "黄华东B";
table.Rows.Add(row);
table.Rows.Add(row1);
//分数表结构
DataTable table2 = new DataTable("ScoreList");
table2.Columns.Add(new DataColumn("UserId", typeof(int)));
table2.Columns.Add("Name");
table2.Columns.Add("Score");
var rowt = table2.NewRow();
rowt["UserId"] = 1;
rowt["Name"] = "语文";
rowt["Score"] = "80";
var rowm = table2.NewRow();
rowm["UserId"] = 1;
rowm["Name"] = "数学";
rowm["Score"] = "90";
var rowa = table2.NewRow();
rowa["UserId"] = 2;
rowa["Name"] = "语文";
rowa["Score"] = "40";
var rowb = table2.NewRow();
rowb["UserId"] = 2;
rowb["Name"] = "数学";
rowb["Score"] = "30";
table2.Rows.Add(rowt);
table2.Rows.Add(rowm);
table2.Rows.Add(rowa);
table2.Rows.Add(rowb);
//----------------------------------------------------------------------------------------------------
//载入模板
//提供数据源
DataSet dataSet = new DataSet();
var userTable = table;
var userScoreTable = table2;
dataSet.Tables.Add(userTable);
dataSet.Tables.Add(userScoreTable);
dataSet.Relations.Add(new DataRelation("ScoreListForUser", userTable.Columns["Id"], userScoreTable.Columns["UserId"]));
//合并模版,相当于页面的渲染
documentAspose.MailMerge.ExecuteWithRegions(dataSet);
documentAspose.Save("E:\\ApiService\\docx\\huanghuadong_WTS.docx");
DocumentBuilder builder = new DocumentBuilder(documentAspose);
//用户表结构
DataTable table = new DataTable("UserList");
table.Columns.Add(new DataColumn("Id", typeof(int)));
table.Columns.Add("UserName");
var row= table.NewRow();
row["Id"] = 1;
row["UserName"] = "黄华东";
var row1 = table.NewRow();
row1["Id"] = 2;
row1["UserName"] = "黄华东B";
table.Rows.Add(row);
table.Rows.Add(row1);
//分数表结构
DataTable table2 = new DataTable("ScoreList");
table2.Columns.Add(new DataColumn("UserId", typeof(int)));
table2.Columns.Add("Name");
table2.Columns.Add("Score");
var rowt = table2.NewRow();
rowt["UserId"] = 1;
rowt["Name"] = "语文";
rowt["Score"] = "80";
var rowm = table2.NewRow();
rowm["UserId"] = 1;
rowm["Name"] = "数学";
rowm["Score"] = "90";
var rowa = table2.NewRow();
rowa["UserId"] = 2;
rowa["Name"] = "语文";
rowa["Score"] = "40";
var rowb = table2.NewRow();
rowb["UserId"] = 2;
rowb["Name"] = "数学";
rowb["Score"] = "30";
table2.Rows.Add(rowt);
table2.Rows.Add(rowm);
table2.Rows.Add(rowa);
table2.Rows.Add(rowb);
//----------------------------------------------------------------------------------------------------
//载入模板
//提供数据源
DataSet dataSet = new DataSet();
var userTable = table;
var userScoreTable = table2;
dataSet.Tables.Add(userTable);
dataSet.Tables.Add(userScoreTable);
dataSet.Relations.Add(new DataRelation("ScoreListForUser", userTable.Columns["Id"], userScoreTable.Columns["UserId"]));
//合并模版,相当于页面的渲染
documentAspose.MailMerge.ExecuteWithRegions(dataSet);
documentAspose.Save("E:\\ApiService\\docx\\huanghuadong_WTS.docx");
阅读全文
0 0
- Aspose Word模板使用总结
- Aspose Word模板使用总结
- Aspose Word模板使用总结
- Aspose Word模版使用总结
- Aspose Word模版使用总结篇(2)
- Aspose Word使用
- Aspose.Words使用word模板中的书签插入图片(导出含有图片的word)
- 根据word模板导出数据(Aspose.Words)
- 利用Aspose.Words按模板导出Word
- 使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)
- 使用com.aspose.words将word模板转为PDF乱码解决方案(window下正常)
- aspose.word根据word模板填充对应信息并导出
- Aspose.word在asp.net mvc中如何使用的个人总结
- 引用Aspose.Words,操作Word模板创建表格
- aspose.cells使用excel模板生成excel
- JAVA使用aspose.word 实现html转换word
- 使用Aspose.word生成.pdf和.doc(word)报告文件
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
- Eigen学习笔记
- 一份所有中国人都应该听的歌单,你听过几首?
- paramiko 远程执行命令
- 一个网工的十年奋斗史
- 如何理性客观地看待人工智能热潮
- Aspose Word模板使用总结
- 小米6手机使用体验(小米手机质量)(给想买小米手机人参考)
- Spring资源
- php 快速输出excel报表
- 数理&人文
- 对数学未来的思考
- 第三届上海大学生网络安全大赛 流量分析
- 漫画:如何做一款比吃鸡还厉害的游戏
- 算法设计与分析(二)分治