POI爲apache公司的一個子項目,主要是提供一組操做windows文檔的Java API.
Java Excel俗稱jxl是一開放源碼項目,經過它Java開發人員能夠讀取Excel文件的內容、建立新的Excel文件、更新已經存在的Excel文件。
使用該API非Windows操做系統也能夠經過純Java應用來處理Excel數據表。由於是使用Java編寫的,因此咱們在Web應用中能夠經過JSP、Servlet來調用API實現對Excel數據表的訪問。就這二者的區別,主要談下JVM虛擬機內存消耗的狀況.數據量3000條數據,每條60列.JVM虛擬機內存大小64M.使用POI:運行到2800條左右就報內存溢出.使用JXL:3000條所有出來,而且內存還有21M的空間.可想而知,在對內存的消耗方面差距仍是挺大的.也許是因爲JXL在對資源回收利用方面作的還挺不錯的.關於二者效率方面,沒有研究過,我想這個也是基於大數據量而言的,數據量小的話基本上差異不大,也不難被發覺.可是大的數據量,POI消耗的JVM內存遠比JXL消耗的多.但相比提供的功能的話,JXL又相對弱了點.因此若是要實現的功能比較複雜的狀況下能夠考慮使用POI,但若是隻想生成一些大數據量能夠考慮使用JXL,或者CSV也是一個不錯的選擇,不過CSV並非真正的excel.