aspose.word 使用简单方法
aspose.word使用简单方法
概念介绍
使用aspose生成word报表步骤:
- 加载word模板
- 提供数据源
- 填充
加载模板
提供了4种重载方法
|
1
2
3
4
5
|
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)
具体字段
有两种方式可以实现:
方法一、
|
1
2
3
|
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作为数据源。可通过反射获取数据。
如何获取域字段
|
1
|
doc.MailMerge.GetFieldNames() |
方法返回的书string[]
方法三、
根据属性域添加特殊符号代码如下
1.找到属性域位置:
builder.MoveToMergeField(item.Key);
2.设置属性域格式
builder.ParagraphFormat.StyleIdentifier =Aspose.Words.StyleIdentifier.BodyText;
builder.Font.Name = "Wingdings 2";
builder.Font.Size = 8;
builder.Font.Italic = true;
builder.Write("R");
操作方法:
来自:Office之家
链接:http://office.jb51.net/word/5200.html
来自:Office之家
链接:http://office.jb51.net/word/5200.html
在单元格中输入字母 R,然后把字体设置成 wingdings 2类型即可,如下图所示关于字母与符号的对应表。
0是复选框

来自:Office之家
链接:http://office.jb51.net/word/5200.htm
可参考: http://www.cnblogs.com/lucika/p/3519275.html
http://www.cnblogs.com/birchlee/archive/2013/05/23/3094632.html
aspose.word 使用简单方法的更多相关文章
- aspose.word使用简单方法
概念介绍 使用aspose生成word报表步骤: 加载word模板 提供数据源 填充 加载模板 提供了4种重载方法 public Document(); public Document(Stream ...
- 利用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 ...
随机推荐
- 【Acm】算法之美—Fire Net
题目概述:Fire Net Suppose that we have a square city with straight streets. A map of a city is a square ...
- Asp.Net微信支付接口之jsApiPay教程
1.微信支付JsApiPay只能在微信浏览器中使用 2.必须先申请微信支付功能 3.设置域名 4.设置支付授权目录 一定要精确到最后一级目录 5.获取APPID和AppSecret AppSecr ...
- LeetCode: Longest Common Prefix 解题报告
Longest Common Prefix Write a function to find the longest common prefix string amongst an array of ...
- Android 异步任务——AsyncTask (附使用AsyncTask下载图片Demo)
我们编程的时候经常需要处理同步任务和异步任务,在Android里面存在一个特性,就是UI线程是不安全的线程.所谓UI线程不安全也就是我们的主线程(进程启动的第一个线程)不能在线程外操作主线程的资源.因 ...
- junit import org.junit.Test 报错
由于用的是父-子项目 在自项目中各种改都不行,还是报错,而且子项目中明明已经导入了还在报错,后面发现是父项目中的scope是test 注释掉就好了
- 【.Net】Thread.Start()与ThreadPool.QueueUserWorkItem()的区别
百度搜到的靠前的几篇文章,都是写了两种API的使用实例,但并没有说清两者的具体差别. 直接上stackoverflow搜才是正确的姿势.(想上谷歌,然而十/九_大|期间VPN各种被墙,就很气) 参考: ...
- C语言 · 最长单词
算法提高 最长单词 时间限制:1.0s 内存限制:512.0MB 编写一个函数,输入一行字符,将此字符串中最长的单词输出. 输入仅一行,多个单词,每个单词间用一个空格隔开.单词仅由小 ...
- Go Revel - Websockets
revel提供了对`Websockets`的支持. 处理`Websockets`链接: 1.添加一个`WS`类型方法的路由 2.添加一个action接受 `*websocket.Conn`参数 例如, ...
- Swift的函数与函数指针、闭包Closure等相关内容介绍
<span style="font-size:24px;">//函数 //demo1 无參数类型 func testConcat(){ println("測试 ...
- Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql