aspose.word 使用簡單方法

 

aspose.word使用簡單方法

概念介紹html

使用aspose生成word報表步驟:數據結構

  1. 加載word模板
  2. 提供數據源
  3. 填充

加載模板

提供了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

相關文章
相關標籤/搜索