域,選擇MergeField,屬性->域名中輸入和數據庫表字段相同的" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Aspose.Word

系統 1880 0

Aspose.Words是一個極其強大的Word操作組件,包括.Net和Java兩個版本,這里介紹的是.Net版本。

Aspose.Words的詳細介紹在其官方網站上有介紹,但比較少有對Word模板的描述。可以在官方網站上下載例子程序,其中包含了不少Word模板。

Aspose.Words主要通過Words里域(Fields)來控制內容,基本方式就是新建一個新Word文件,在菜單中選擇插入->域,選擇MergeField,屬性->域名中輸入和數據庫表字段相同的名稱,然后確定就OK了。多添加幾個MergeField就可以輸入多個字段。接著是.net中的代碼,該代碼使用模板為基礎,循環數據庫表的內容,每條記錄在Word中顯示為一頁。

  1. private void Page_Load(object sender, EventArgs e)
  2. {
  3. DataSet users = appService.GetAllUser();
  4. ?
  5. Stream f = new FileStream(Server.MapPath("~") + @"\Output\Template\ApplyFormTemplate.doc", FileMode.Open);
  6. Document doc = new Document(f);
  7. ?
  8. // 建立圖片事件
  9. doc.MailMerge.MergeImageField+=new Aspose.Words.Reporting.MergeImageFieldEventHandler(MailMerge_MergeImageField);
  10. ?
  11. // 執行數據更新
  12. doc.MailMerge.Execute(users.Tables[0]);
  13. ?
  14. // 刪除未使用的空白域
  15. doc.MailMerge.DeleteFields();
  16. ?
  17. // 將結果發送到客戶端
  18. doc.Save("ApplyForm.doc", SaveFormat.Doc, SaveType.OpenInWord, Response);
  19. ?
  20. f.Close();
  21. }
  22. ?
  23. private void MailMerge_MergeImageField(object sender, Aspose.Words.Reporting.MergeImageFieldEventArgs e)
  24. {
  25. ?? ?if (e.FieldValue != null && e.FieldValue.ToString() != "")
  26. ?? ?{
  27. ?? ? ? ?PhotoService photoService = new PhotoService();
  28. ?? ? ? ?string photoPath = photoService.GetPhotoPathById((int)e.FieldValue);
  29. ?? ? ? ?if (File.Exists(photoPath))
  30. ?? ? ? ? ? ?e.Image = Image.FromFile(photoPath);
  31. ?? ?}
  32. }

上面的代碼,可以將數據庫中所有用戶的資料按模板顯示,每個人的詳細記錄一個頁面。

需要特別說明的是上面的代碼中包含了照片。使用方法如下:
在需要加模板照片或圖片的地方,同樣插入域,但域名設置為:Image:數據表字段名,該處的數據表字段可以為String(也就是圖片地址),也可以是二進制的圖片。然后通過MergeImageField事件,將該處的顯示進行修改。如上面代碼,e.FieldValue就是數據庫里所保存的數據。然后通過一些代碼改變,設置e.Image的值為具體圖片,那么就完成。

Aspose.Word


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 新巴尔虎左旗| 天门市| 清水河县| 东光县| 天峻县| 务川| 西乌珠穆沁旗| 叙永县| 衡阳市| 沐川县| 宁明县| 巴青县| 武宣县| 宿松县| 安庆市| 桂东县| 江永县| 石楼县| 揭东县| 周口市| 开封县| 循化| 安宁市| 友谊县| 托克逊县| 广饶县| 徐闻县| 伽师县| 宁德市| 新田县| 博爱县| 东港市| 邵东县| 竹山县| 临清市| 浪卡子县| 邢台县| 民乐县| 霍城县| 临夏市| 县级市|