概念介绍html
使用aspose生成word报表步骤:数据结构
提供了4种重载方法post
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),一个域至关于一个占位符。域,能够从菜单 插入->文档部件中定位选择。字体
目前有两种状况:基本信息和列表。ui
基本信息:基本属性,列表对应循环的数据结构,如DataTable.url
对于列表,使用DataTable进行填充。spa
模板的制做:.net
表格以关键字TableStart开头,TableEnd结束。关键字后加DataTable表名称。e.g.TableStart:tableNamecode
表头中间,是具体字段的名称。orm
序号 | 姓名 | 性别 | 年龄 |
<TableStart:Name><<Index>> | <<Name>> | <<Sex>> | <<Age>><<TableEnd:Name>> |
Document doc = new Document(Server.MapPath("~\\templet") + "\\" + name); doc.MailMerge.ExecuteWithRegions(DataTable)
有两种方式能够实现:
方法1、
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; }
方法2、
doc.MailMerge.Execute(fieldNames, fieldValues);
在具体开发过程当中,一般选择Entity做为数据源。可经过反射获取数据。
如何获取域字段
1
|
doc.MailMerge.GetFieldNames()
|
方法返回的书string[]
方法3、
根据属性域添加特殊符号代码以下
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