项目中会遇到导入Excel的需求,使用POI的话可能会比较麻烦,最近使用阿里的easyExcel过程记录下。下例为本地环境测试:
一、新建Springboot项目并添加依赖
easyExcel依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
lombok依赖(不是必需):
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
二、新建Model
@Data
public class Demo extends BaseRowModel {
@ExcelProperty(index = 0, value = "ID")
private String id;
@ExcelProperty(index = 1,value = "姓名")
private String name;
@ExcelProperty(index = 2,value = "地址")
private String address;
}
说明:easyExcel是根据index读取Excel中的每列数据,value可以不用写,但是为了清晰建议写上;如果给前端返回时也用此model,会返回cellStyleMap什么的,可以用@jsonIgnore注解忽略掉。
本地Excel截图:
三、编写相关utils
ExcelUtil
public class ExcelUtil<T> {
/***
* 读取Excel方法
* 要求类必须继承BaseRowModel
*/
public static <T extends BaseRowModel> ArrayList<T> readExcel(MultipartFile excel, Class<T> clazz) {
try {
InputStream