使用比較
POI、jxl、jexcel可以劃歸為一類,通過java封裝了Excel的操作,所以需要折騰Workbook,Sheet,Cell等對象,顧及excel的每個細節。這種方式,優點是功能強大。缺點是代碼冗長拖沓,閱讀困難。
jxls雖然是基于POI,但其最大突破在于預先定制好Excel模板(如字段、格式、圖表等),運行期綁定數據即可呈現多樣化報表。其優點是編程輕松,功能靈活方便。缺點是對于過于動態化報表不太適用(如輸出字段、格式非常多變)。
Jacob和COM模型粘在一起,自然被純java的擁躉者所不顧。所以,應用不是很廣。
jxls初體驗
業務部門經常需要我們技術部給推送一些定期報表,這些報表的字段及格式都是預定義好的。顯而易見,在這種場合,jxls是再適合不過的工具了。只要定義好
輸出報表的模板,綁定查詢出的數據即大功告成。日常維護起來也很方便,比如加減字段、改變展現方式、嵌入excel自動圖表等都能輕松搞定。
百聞不如一見,從jxls主頁[5]上下載了jXLS
v.0.9.6(不知何故,自20080409日后沒有再更新),安裝起來運行其中自帶的范例。自帶范例可以通過maven來編譯,偶試了試編譯成功,但
不知道怎么運行范例。后來沒轍,把范例導到eclipse中進行編譯運行。編譯時下載了最新的poi-3.2-FINAL-20081019.jar,結
果編譯成功,但運行報錯
java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFCell.setEncoding(S)V
后來換成poi-3.1-FINAL-20080629.jar,又報別的錯,最后好不容易從CSDN上下載了poi-3.0.1-FINAL-
200705.jar,總算運行成功。體驗了一下,效果非常好。讓人不解的是,在POI主站上只能下載到最新的POI3.2版本,老版本就是找不到。
參考資料
1、http://schmidt.devlib.org/java/libraries-excel.html,java操作Excel的類庫清單
2、http://jakarta.apache.org/poi/,POI主頁
3、http://www.andykhan.com/jexcelapi/index.html,jxl主頁
4、http://www.teamdev.com/jexcel/index.jsf,jexcel主頁。
5、http://jxls.sourceforge.net/,jxls主頁
6、http://jacob-project.wiki.sourceforge.net/,Jacob主頁