POI
推薦指數:⭐
因為之前做過EXCEL的解析,所以我首選就是POI,然而經過調查之后發現POI解析Word文檔就是個坑,非常難用不說,有些功能還不支持。試驗一番之后不得不放棄了。
POI-TL
推薦指數:⭐⭐⭐
發現POI不好用之后同事推薦給我了一種基於POI的模板類庫,可以根據模板自動生成文檔。語法簡單,而且模板可以定制。因為這次的需求比較特殊,所以有些地方不太滿足項目的需要。如果你的項目是那種從頭搭建的項目的話,建議使用這個類庫。
FreeMarker
推薦指數:⭐⭐⭐
FreeMarker是一種Html模板引擎工具,因為word文檔也是一種固定格式的XML文檔,所以可以使用FreeMarker來設定模板,並根據模板生成。缺點是所有doc模板都必須修改為符合標准的ftl模板文檔,工程量較大。
JACOB
推薦指數:⭐⭐
JACOB是一個Java-COM的中間件,通過這個組件你可以在Java應用程序中調用COM組件和Win32程序庫。然而缺點也比較明顯,就是只能在Windows環境下使用,如果是那種需要部署到Linux環境的項目就不適用了。我沒有寫測試小程序,不知道具體使用起來會是怎么樣。
XDOC雲服務
推薦指數:⭐⭐⭐⭐
這個是國內一個提供根據模板生成文檔的免費雲服務網站。因為項目有一些涉密的文檔,所以不能使用這種公開的雲服務。聯系了服務方之后發現他們有一個企業版的可以部署在本地。這個服務調用方便,類庫簡單,非常適合小型項目。大型項目也可以考慮購買付費服務。
Docxtemplater
推薦指數:⭐⭐⭐⭐⭐
受雲服務的啟發,我想到未必非要在Java中解決問題,於是想到之前寫過一個Node.js的項目,其中涉及到office文檔的生成,可以利用Node.js開發一個Restful的接口,將所有模板放在這個項目里,調用接口實現模板生成。Docxtemplater相對來講是一個很好的Node.js office中間件。
java2word
推薦指數:⭐⭐
這個工具是我在尋找解決方案的過程中找到的一個五年前的類庫了,作者似乎還在回答問題,但也有一年沒有活動了。這個項目目測是非常老的項目了,連現成的jar包也沒有。不是很推薦,但是如果前面幾個都不符合你的需要的話,不要放棄