1.版本
image.png

2.实体对象

@ExcelProperty() 标记识别表头信息 value和index 不能同时使用,converter选择使用的转换器@DateTimeFormat() 时间格式转换“yyyy-MM-dd HH:mm:ss”
@NumberFormat(“#.##%”) 数字格式转换

3.转换器(Converter

通过继承Converter自定义转换器,supportJavaTypeKey()方法,设置jave实体对应的类型,supportExcelTypeKey()设置Excel对应的类型 ,convertToJavaData()方法,读取的时候调用,返回类型为需要的Java类型,convertToExcelData()方法,写出的时候调用,传入参数为java类型,注意:泛型类型为java实体类型!!!

4.导入

4.1 监听器(AnalysisEventListener

通过继承AnalysisEventListener自定义监听器,如果使用了spring,请使用构造方法将参数传入监听器中。每一条数据解析都会来调用invoke方法,可以在这个方法中将数据缓存起来,数据完全解析完成调用doAfterAllAnalysed方法。

4.2 web中导入

image.png

5.导出

5.1web中导出

坑:按官方文档写法始终无法导出正常可以打开的excel文件
解决办法:使用官方文档web中的写来创建ExcelWriter对象
image.png
再使用该对象按照官方文档中重复多次写入的方法导出excel文件
image.png

6.java8中LIst去重

List collect = list.stream().filter(distinctByKey(Coupon::getCode)).collect(Collectors.toList());
image.png

7.其他操作参看阿里官方文档
https://alibaba-easyexcel.github.io/index.html