JXL和POI都是處理Excel比較好的兩個開源項目。
重API功能的話,選擇POI;
重內存消耗的話,選擇JXL;
JXL:
優點:
Jxl對中文支持非常好,操作簡單,方法看名知意。
Jxl是純javaAPI,在跨平臺上表現的非常完美,代碼可以再windows或者Linux上運行而無需重新編寫
支持Excel 95-2000的所有版本
生成Excel 2000標準格式
支持字體、數字、日期操作
能夠修飾單元格屬性
支持圖像和圖表,但是這套API對圖形和圖表的支持很有限,而且僅僅識別PNG格式。
缺點:效率低,圖片支持部完善,對格式的支持不如POI強大
POI:
效率高,這點很好
支持公式,宏,一些企業應用上會非常實用
能夠修飾單元格屬性
支持字體、數字、日期操作
1. poi已消耗內存換取部分效率,而jxl在內存消耗上一直很穩定。POI很容易內存溢出
2.poi隨着數據量的增大,性能直線下降,當我增大到24000條每個sheet的時候,內存溢出。jxl卻能運行
建議在大數據量的時候使用jxl .可以保證效率和較小內存消耗。在具體開發中,對部分常用的excel下載,可生產副本文件,避免重複生產Excel消耗內存
3.在測試的過程中,發現POI極其不穩定。獲得的數據有時候相差特別大。每種測試情況我是重複測試4次,然後取平均值
總體來說,對於簡單的單表excel導入導出的需求,建議使用JXL。數據量稍微小點,佔用內存少,速度快。
對於報表類的,涉及月份數據量,多表數據聚合在一起建議使用POI。