概念介紹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