TinyDocGenWord文檔生成
序言
Word文檔生成在許多項(xiàng)目中都是需要的,目前來(lái)看有兩種方案,一種是通過(guò)Apache POI工具包、iText來(lái)生成,另外一種是利用Office Open Xml規(guī)范來(lái)進(jìn)行生成。各種方案各有優(yōu)缺點(diǎn),這里不對(duì)其進(jìn)行詳細(xì)比較,已經(jīng)有許多人進(jìn)行過(guò)深入的比較,詳細(xì)請(qǐng)咨詢谷哥和度娘。這里采用的方案是利Office Open Xml的方式進(jìn)行文檔生成。
對(duì)于采用POI,iText來(lái)說(shuō),要生成復(fù)雜的Doc文件,其實(shí)并不容易。而采用Xml結(jié)構(gòu)生成,去把一個(gè)文檔生成xml文件,看看里面的內(nèi)容,估計(jì)也會(huì)是滿頭是汗。
Tiny構(gòu)建者,認(rèn)為,生成Doc,Xls,PDF等文檔類型是管理系統(tǒng)繞不過(guò)去的坑,那既然沒(méi)有辦法繞過(guò),那就是說(shuō)無(wú)論如何都要過(guò)了?
隨便百度Google一下,發(fā)現(xiàn)這種方案其實(shí)許多人已經(jīng)做過(guò)了,比如在下面的連接中,作者已經(jīng)有了良好的實(shí)踐:http://developer.51cto.com/art/201106/270815.htm
本文的解決方案,與之存在類似之處--都是采用模板語(yǔ)言結(jié)合xml來(lái)生成xml格式Word文件,但是實(shí)現(xiàn)模式還是不一樣的,本文提供的方案更具有通用性、易用性,易用到像做網(wǎng)站一樣生成Word文檔。
為此,Tiny框架對(duì)于生成文本格式文件的內(nèi)容進(jìn)行了抽象,只要是生成文本格式的文件,都可以通過(guò)Tiny框架的文檔生成框架進(jìn)行擴(kuò)展,使得開發(fā)人員可以方便快捷的生成文本類型的文檔。
由于Office文檔已經(jīng)有了xml格式的存儲(chǔ)方式,由于pdf可以通過(guò)xml生成,因此,最常用的office文檔和pdf文檔都可以通過(guò)本框架快速生成,當(dāng)然,有一些基礎(chǔ)性工作還是要自己做的(偷偷的透露一下:常用的模板框架中都會(huì)包含的)。
Maven依賴坐標(biāo):
org.tinygrouporg.tinygroup.docgen0.1.0-SNAPSHOT
最新版本源碼在線查看地址:
總項(xiàng)目地址:
https://git.oschina.net/tinyframework/tiny/
模板地址:
https://git.oschina.net/tinyframework/tiny/tree/master/framework/org.tinygroup.docgen
