1. 程式人生 > 其它 >java 生成word/docx 總結(1)

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檔案格式

https://blog.csdn.net/

qq_35212203/article/

details/109849941

5 模板

Xml(freemarker)

XML操作,跨平臺,模板方式

較複雜,需要理解XML結構,需要定製模板

https://blog.csdn.net/

qq_46319694/article/details

/123380836

6

poi-tl

純Java元件,跨平臺,模板引擎功能,對poi進行封裝,直接操作docx模板

需要定製模板

http://deepoove.com/poi-tl/

接下來幾個章節,我會針對Xml(freemarker)、poi-tl、poi方式進行講解,並提供相關demo。