網友評分: 5.8分
EasyExcel是阿里巴巴開發的快速、簡單避免OOM的java處理Excel工具,這是基于Java的簡單、省內存的讀寫Excel的開源項目。在盡可能節約內存的情況下支持讀寫百M的Excel。這里提供快速的Jar包下載,方便程序導入使用。
64M內存1分鐘內讀取75M(46W行25列)的Excel
當然還有急速模式能更快,但是內存占用會在100M多一點
寫有大量數據的xlsx文件時,POI為我們提供了SXSSFWorkBook類來處理,這個類的處理機制是當內存中的數據條數達到一個極限數量的時候就flush這部分數據,再依次處理余下的數據,這個在大多數場景能夠滿足需求。
讀有大量數據的文件時,使用WorkBook處理就不行了,因為POI對文件是先將文件中的cell讀入內存,生成一個樹的結構(針對Excel中的每個sheet,使用TreeMap存儲sheet中的行)。如果數據量比較大,則同樣會產生java.lang.OutOfMemoryError: Java heap space錯誤。POI官方推薦使用“XSSF and SAX(event API)”方式來解決。
新增支持導入、導出支持公式
新增支持讀取單元格類型、寫入指定單元格類型
支持通過模板填充數據
新增寫支持 禁用頭樣式 useDefaultStyle
用map讀取數據 空的單元格也會有個 null的數據
轉換報錯 能獲取到對應的行號和列號
優化讀取全部sheet方案
新增注解ExcelIgnoreUnannotated 支持忽略未加ExcelProperty注解的字段
支持導出加密 Issue #361
支持導入加密