EasyExcel 导入不规则数据
时间: 2023-11-22 08:41:02 浏览: 41
EasyExcel可以通过以下方法导入不规则数据:
1.使用自定义注解
在实体类中使用自定义注解,指定每个字段对应Excel中的列名或列索引。例如:
```java
@Data
public class User {
@ExcelProperty(value = "姓名", index = 0)
private String name;
@ExcelProperty(value = "年龄", index = 1)
private Integer age;
@ExcelProperty(value = {"联系方式", "手机号"}, index = 2)
private String phone;
@ExcelProperty(value = {"联系方式", "邮箱"}, index = 3)
private String email;
}
```
在导入时,使用`readExcelWithModel`方法,并指定实体类类型。EasyExcel会根据注解中的信息自动匹配Excel中的数据。
```java
List<User> userList = EasyExcelUtils.readExcelWithModel(inputStream, User.class);
```
2.使用Map
易于Excel可以将每一行数据转化为一个Map对象,其中key为列名或列索引,value为单元格的值。在导入时,使用`readExcelWithMap`方法即可。
```java
List<Map<Integer, String>> mapList = EasyExcelUtils.readExcelWithMap(inputStream);
```
3.使用回调函数
使用`readExcelWithCallback`方法,并传入一个回调函数,在读取到每一行数据时执行回调函数。回调函数中可以自定义将Excel中的数据转换为需要的数据类型。
```java
EasyExcelUtils.readExcelWithCallback(inputStream, new ReadCallback() {
@Override
public void onRead(List<Object> list) {
// 将list转换为需要的数据类型
// ...
}
});
```