EasyExcel是一个开源的操作excel的java项目,处理excel时节约内存又高效,在支持百兆Excel的读写
一、引入包
为了方便Bean的定义,额外引入lombok.jar、以及为了测试效果而引入spring-boot-starter-web.jar
1 | <dependencies> |
二、定义Bean
Bean中可以定义excel的列名。例如用户Bean(UserDTO.java的定义)。@ExcelProperty标识出此字段将作为excel的一列,括号里是列名。
@ExcelIgnore 表示该列将不出现在导出的excel的导入导出中
1 | package net.zuze.dto; |
三、导出测试
在controller中测试
1、导出controller定义
1 | package net.zuze.controller; |
2、导出效果
2.1、web方式导出
浏览器中Get方式调用接口 http://localhost:8080/exportWeb
浏览器会在下载目录中下载一个文件名.xlsx文件
2.2、服务端目录下载
浏览器中Get方式调用接口 http://localhost:8080/exportDir
会在服务器上的 D盘根目录(代码里指定的路径) 下载一个文件名.xlsx文件
四、导入
EasyExcel的导入需要添加一个监听器,用于处理导入结果。监听器需要实现com.alibaba.excel.read.listener.ReadListener接口
1、ReadListener接口有6个方法需要实现
1 |
|
2、ReadListener接口实现
1 | package net.zuze.listener; |
3、导入接口调用
将解析的数据返回接口调用方
1 | package net.zuze.controller; |
4、导入接口调用效果
postman中post方式调用http://localhost:8080/import接口、导入excel文件
http://localhost:8080/import接口调用,完整返回
1 | [ |