经常遇到一些网站,尤其是管理员后台,有一个导出数据的功能。
在做暑期作业的时候,正需要这个功能,想起了之前用过的POI,查了一些资料发现POI吃内存比较严重,正好国内阿里改进了POI,形成了EasyExcel,并且已经开源。
官方说明文档
https://www.yuque.com/easyexcel/doc/easyexcel
功能预览
前端通过按钮,向后端接口发送post请求,实现文件下载。
接口实现
导入Maven依赖
1 2 3 4 5 6 7 8 9 10 11
   | <dependency>   <groupId>com.alibaba</groupId>   <artifactId>easyexcel</artifactId>   <version>2.2.6</version> </dependency> <dependency>   <groupId>org.projectlombok   </groupId>   <artifactId>lombok</artifactId>   <version>1.18.12</version> </dependency>
   | 
Mapper.xml
1 2 3 4
   | <select id="selectAll"  resultMap="BaseResultMap">    select  *   from uusers </select>
   | 
Mapper接口声明
1 2 3
   | public interface UusersMapper {     List<Uusers> selectAll(); }
  | 
Uusers表实体类
继承自com.alibaba.excel.metadata.BaseRowModel类,每个属性前添加@ExcelProperty注解,声明导出Excel的表头。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
   | public class Uusers extends BaseRowModel {       @ExcelProperty(value = "id",index = 0 )     private... |