aspose.word使用簡單方法 加入特殊符號-https://www.cnblogs.com/louby/p/6456021.html
隨筆- 190 文章- 0 評論- 10
aspose.word 使用簡單方法
aspose.word使用簡單方法
概念介紹
使用aspose生成word報表步驟:
- 載入word模板
- 提供資料來源
- 填充
載入模板
提供了4種過載方法
1 2 3 4 5 |
|
模板製作
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); while(builder.MoveToMergeField(MergeFiled Name)) { builder.Write(value; }
方法二、
doc.MailMerge.Execute(fieldNames, fieldValues);
在具體開發過程中,通常選擇Entity作為資料來源。可通過反射獲取資料。
如何獲取域欄位
1 |
|
方法返回的書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
文章屬於個人工作備忘錄,歡迎指正...