java 生成word/docx 總結(1)
最近有個任務,需要用java生成WORD 文件,執行環境在linux上。於是,自己在網上找了好多資料,總結下來做個分享。後面也會對常用的幾個建立幾個demo供大家參考。主要分為以下幾個部分:
1. 概述
2. poi demo
3. freemarker demo
4. poi-template demo
5. 總結
1. 概述
生成方式一般有兩種方式,分別為通過程式碼完全構建word文件,包括格式,相對比較麻煩,但是可定製程度高。一種通過模板方式構建。另外一些方法是基於windows中office相關元件,在linux上可能就不好用或者需要安全額外軟體。基本情況如下:
序號 |
方式 |
方案 |
優勢 |
缺點 |
備註 |
1 |
程式碼 |
Jacob,winlib |
功能強大 |
無法跨平臺,需要windows支援,程式碼量大,設定繁瑣 |
|
2 |
Apache poi |
純Java元件,跨平臺,定製性高,Excel檔案,可以讀寫Word和PPT、Excel |
操作麻煩 |
http://deepoove.com/poi-tl/apache-poi-guide.html |
|
3 |
Java2word |
功能強大 |
需要windows支援 |
||
4 |
itext |
功能全,滿足基本要求 |
操作麻煩,和poi有點像,只能生成rtf格式的檔案,不是真正的word檔案格式 |
qq_35212203/article/ details/109849941 |
|
5 | 模板 |
Xml(freemarker) |
XML操作,跨平臺,模板方式 |
較複雜,需要理解XML結構,需要定製模板 |
qq_46319694/article/details /123380836 |
6 |
poi-tl |
純Java元件,跨平臺,模板引擎功能,對poi進行封裝,直接操作docx模板 |
需要定製模板 |
http://deepoove.com/poi-tl/ |
接下來幾個章節,我會針對Xml(freemarker)、poi-tl、poi方式進行講解,並提供相關demo。