easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

EasyExcel簡介

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

Java解析、生成Excel比較有名的框架有Apache poi、jxl。但他們都存在一個嚴重的問題就是非常的耗記憶體,poi有一套SAX模式的API可以一定程度的解決一些記憶體溢位的問題,但POI還是有一些缺陷,比如07版Excel解壓縮以及解壓後儲存都是在記憶體中完成的,記憶體消耗依然很大。easyexcel重寫了poi對07版Excel的解析,能夠原本一個3M的excel用POI sax依然需要100M左右記憶體降低到幾M,並且再大的excel不會出現記憶體溢位,03版依賴POI的sax模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便

動態表頭

檢視easyexcel支援匯出表頭設定方法,表頭匯出支援Class,List> 型別。由於是動態表頭 Class 型別不易封裝,List> 型別更加適合。

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

動態列

檢視easyexcel支援資料匯出格式,List。此處的List 是否支援List>格式

跟蹤程式碼,查詢List 處理流程。經過跟蹤,在建立excel之前,對型別進行了判斷處理。

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

跟蹤程式碼利器SequenceDiagram

怎樣去跟蹤程式碼?提供一個idea的外掛SequenceDiagram,透過外掛可以生成程式碼的呼叫流程,跟蹤程式碼會更加方便。

以下是 easyexcel doWrite() 方法處理的時序圖。

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

實現動態表頭,動態列匯出

建立head方法,返回值型別List>

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

效果

easyexcel動態表頭列匯出Sequence外掛閱讀原始碼事半功倍

總結

使用easyexcel 匯出動態表頭,列資料。只需構造符合List> 格式資料即可。這與POI 直接使用起來更加的簡單。

在使用第三方工具包時,有時由於文件不完整,需要跟蹤原始碼時,可以藉助SequenceDiagram外掛, 生成時序圖,是程式碼跟蹤更加清晰。