已經寫過兩種Excel導出插件了。今天再安利一個極簡的導出Excel的框架,導出無特殊格式要求的Excel,只需五行代碼;
先看代碼
再看效果
EasyExcel
本案例用到的框架是阿里推出的EasyExcel,EasyExcel從第一次提交代碼(2018年2月)到現在,在GitHub上已經獲得6590個Star
以下是官方介紹
Java解析、生成Excel比較有名的框架有Apache poi、jxl。但他們都存在一個嚴重的問題就是非常的耗內存,poi有一套SAX模式的API可以一定程度的解決一些內存溢出的問題,但POI還是有一些缺陷,比如07版Excel解壓縮以及解壓后存儲都是在內存中完成的,內存消耗依然很大。easyexcel重寫了poi對07版Excel的解析,能夠原本一個3M的excel用POI sax依然需要100M左右內存降低到KB級別,並且再大的excel不會出現內存溢出,03版依賴POI的sax模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便
使用EasyExcel導出Excel,其特殊之處在於對實體類的處理,需要將被導出的實體類繼承自com.alibaba.excel.metadata.BaseRowModel; 然后在屬性上通過注解com.alibaba.excel.annotation.ExcelProperty;設置表頭及樣式
pom.xml引入jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>1.1.2-beta5</version>
</dependency>
修改需要導出的實體類
至此,最簡單的Excel導出就實現了。
這篇文章寫得有點短,因為EasyExcel代碼精簡,上手簡單。再者,寫這篇文章並不為分析技術,只是給還沒聽過EasyExcel的同學安利一下。