aspose.word使用简单方法
概念介绍
使用aspose生成word报表步骤:
- 加载word模板
- 提供数据源
- 填充
加载模板
提供了4种重载方法
public Document();
public Document(Stream stream);
public Document(string fileName);
public Document(Stream stream, LoadOptions loadOptions);
public Document(string fileName, LoadOptions loadOptions);
模板制作
aspose在word模板中使用了域(MergeField),一个域相当于一个占位符。域,可以从菜单 插入->文档部件中定位选择。
数据填充
目前有两种情况:基本信息和列表。
基本信息:基本属性,列表对应循环的数据结构,如DataTable.
对于列表,使用DataTable进行填充。
模板的制作:
表格以关键字TableStart开头,TableEnd结束。关键字后加DataTable表名称。e.g.TableStart:tableName
表头中间,是具体字段的名称。
| 序号 | 姓名 | 性别 | 年龄 |
| <TableStart:Name><<Index>> | <<Name>> | <<Sex>> | <<Age>><<TableEnd:Name>> |
Document doc = new Document(Server.MapPath("~\\templet") + "\\" + name);
doc.MailMerge.ExecuteWithRegions(DataTable)
具体字段
有两种方式可以实现:
方法一、
DocumentBuilder builder = new DocumentBuilder(doc);
builder.MoveToMergeField(MergeFiled Name);
builder.Write(value;
这种方式,一次填充一个数据。但一个域字段可以多次使用,并可以一次填充。
优点,可以灵活定制。如果要想一次替换多个域字段,稍加改动同样可以实现。
DocumentBuilder builder = new DocumentBuilder(doc);
while(builder.MoveToMergeField(MergeFiled Name))
{
builder.Write(value;
}
方法二、
doc.MailMerge.Execute(fieldNames, fieldValues);
在具体开发过程中,通常选择Entity作为数据源。可通过反射获取数据。
如何获取域字段
doc.MailMerge.GetFieldNames()
方法返回的书string[]
aspose.word使用简单方法的更多相关文章
- aspose.word 使用简单方法
aspose.word使用简单方法 概念介绍 使用aspose生成word报表步骤: 加载word模板 提供数据源 填充 加载模板 提供了4种重载方法 1 2 3 4 5 public Documen ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- Aspose Word模板使用总结
Aspose Word模板使用总结 1.创建word模版,使用MergeFeild绑定数据 新建一个Word文档,命名为Template.doc 注意:这里并不是输入"< ...
- 利用Aspose.Word控件实现Word文档的操作
Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...
- 黄聪:利用Aspose.Word控件实现Word文档的操作(转)
撰写人:伍华聪 http://www.iqidi.com Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及 ...
- Aspose.Word邮件合并之自定义数据源
Aspose.Word在进行邮件合并时,默认的几个重载方法对Database支持比较友好,但是也可以通过自定义数据源来实现从集合或者对象中返回数据进行邮件合并. 自定义数据源主要是通过实现IMailM ...
- 通过Aspose.Word和ZXING生成复杂的WORD表格
1.前言 这是我之前做的一个项目中要求的功能模块,它的需求是生成一个WORD文档,需要每页一个表格并且表格中需要插入文字.条形码和二维码等信息,页数可控制.具体的效果如下图所示: 可以看到有以下几点是 ...
- Aspose.Word 的常见使用(2018-12-26 更新版)
Aspose.Word 的常见使用 起因 因项目需要,而且使用html转Word的时候,样式不兼容问题,于是只能使用Aspose.Word通过代码生成.下面是通过DocumentBuilder来设计W ...
- Xcode7使用插件的简单方法&&以及怎样下载到更早版本的Xcode
Xcode7自2015年9上架以来也有段时间了, 使用Xcode7以及Xcode7.1\Xcode7.2的小伙伴会发现像VVDocumenter-Xcode\KSImageNamed-Xcode\HO ...
随机推荐
- HDU 1041 Computer Transformation (简单大数)
Computer Transformation http://acm.hdu.edu.cn/showproblem.php?pid=1041 Problem Description A sequenc ...
- Office 2013 note
1.每次打开重新配置: 问题表现:启动后发现每次打开都会出现“正在配置”的进度 执行:reg add HKCU\Software\Microsoft\Office\15.0\Word\Options ...
- node操作MongoDB数据库之插入
在上一篇中我们介绍了MongoDB的安装与配置,接下来的我们来看看在node中怎样操作MongoDB数据库. 在操作数据库之前,首先应该像关系型数据库一样建个数据库把... 启动数据库 利用命令提示符 ...
- oracle连接数据
1.源代码 string connString = "User ID=scott;Password=yanhong;Data Source=(DESCRIPTION = (ADDRESS_L ...
- MongoDB (四) MongoDB 数据模型
在 MongoDB 中的数据有灵活的模式.在相同集合中文档并不需要有相同的一组字段或结构的公共字段的集合,文档可容纳不同类型的数据. MongoDB设计模式的一些考虑 可根据用户要求设计架构. 合并对 ...
- cojs QAQ的序列 解题报告
QAQ 这是从论文上搬的一道题目 但是由于并没有找到题目地址,所以就自己造数据咯 发现数据无比难造 (本题数据极弱,暴力或可AC?) 我们考虑离线的话其实只需要莫队就可以了 那么在线怎么做呢 二进制分 ...
- lintcode:最长上升子序列
题目 最长上升子序列 给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度. 样例 给出[5,4,1,2,3],这个LIS是[1,2,3],返回 3 给出[4,2,4,5,3,7],这个L ...
- hdu 4762 Cut the Cake (大数乘法)
猜公式: ans=n/m^(n-1) #include<stdio.h> #include<string.h> struct BigNum { ]; int len; }; i ...
- WPF之RichTextBox丢失光标仍然选中文本
描述:开发中完成了一个类似于Word的悬浮工具栏功能,选中文本之后可以自动弹出一个工具栏.可以修改字体.字体大小等功能,问题来了,我发现当去进行操作的时候原本选中的RichTextBox的内容的颜色会 ...
- Gray code---hdu5375(格雷码与二进制码,普通dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5375 题意就是:给你一串二进制码,里面可能含有'?'这个既可以表示0又可以表示1, 让我们把这个二进制 ...