EasyExcel是一款由阿里巴巴開發的快速、簡單避免OOM的java處理Excel工具,我們可以通過EasyExcel免費版來讀寫Excel的開源項目,并且還能夠讀寫百M的Excel,減少內存的占用。
寫有大量數據的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
支持導入加密