好久沒更了,都在有道雲上面記錄,沒時間搬過來。
easyexcel是最近項目做優化涉及的一個改善點吧。
簡介
導出是后台管理系統的常用功能,當數據量特別大的時候會內存溢出和卡頓頁面,曾經自己封裝過一個導出,POI百萬級大數據量EXCEL導出 采用了分批查詢數據來避免內存溢出和使用SXSSFWorkbook方式緩存數據到文件上以解決下載大文件EXCEL卡死頁面的問題。
不過還是存在很多問題,一是存在封裝不太友好使用不方便的問題,二是這些poi的操作方式仍然存在內存占用過大的問題,三是存在空循環和整除的時候數據有缺陷的問題,以及存在內存溢出的隱患。無意間查詢到阿里開源的EasyExcel框架,發現可以將解析的EXCEL的內存占用控制在KB級別,並且絕對不會內存溢出(內部實現待研究),還有就是速度極快, 大概100W條記錄,十幾個字段, 只需要70秒即可完成下載。遂拋棄自己封裝的,轉戰研究阿里開源的EasyExcel。

maven
以下是代碼片段

代碼片段1

代碼片段2
百萬行數據24列,導出只要20S,而且不會出現內存溢出的情況。還不錯哦!