程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 如何能讓Java生成復雜Word文檔(1)

如何能讓Java生成復雜Word文檔(1)

編輯:關於JAVA

客戶要求用程序生成標准的Word文檔,要能打印,而且不能變形,以前用過很多解決方案,都在客戶嚴格要求下犧牲的無比慘烈。

POI讀word文檔還行,寫文檔實在不敢恭維,復雜的樣式很難控制不提,想象一下一個20多頁,嵌套很多表格和圖像的Word文檔靠POI來寫代碼輸出,對程序員來說比去山西挖煤還慘,況且文檔格式還經常變化。

iText操作Excel還行。對於復雜的大量的Word也是噩夢。

直接通過JSP輸出樣式基本不達標,而且要打印出來就更是慘不忍睹。

Word從2003開始支持XML格式,用XML還做就很簡單了。

大致的思路是先用Office2003或者2007編輯好Word的樣式,然後另存為xml,將XML翻譯為FreeMarker模板,最後用Java來解析FreeMarker模板並輸出Doc。經測試這樣方式生成的Word文檔完全符合office標准,樣式、內容控制非常便利,打印也不會變形,生成的文檔和Office中編輯文檔完全一樣。

看看實際效果

首先用Office【版本要2003以上,以下的不支持XML格式】編輯文檔的樣式,圖中紅線的部分就是我要輸出的部分:

將編輯好的文檔另存為XML

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved