easypoi 不规则map导入
时间: 2023-09-06 14:13:37 浏览: 70
如果你的 Excel 表格中的数据不是规则的,可能需要使用 easypoi 的不规则 map 导入功能。以下是使用 easypoi 不规则 map 导入的示例代码:
```java
// 定义实体类
public class User {
@Excel(name = "姓名", orderNum = "0")
private String name;
@Excel(name = "手机号码", orderNum = "1")
private String phone;
@Excel(name = "邮箱地址", orderNum = "2")
private String email;
// getter/setter 略
}
// 使用不规则 map 导入数据
ExcelImportResult<User> result = ExcelImportUtil.importExcelMore(
new File("user.xlsx"),
new ImportParams(),
User.class,
new LinkedHashMap<String, String>() {{
put("姓名", "name");
put("手机号码", "phone");
put("邮箱地址", "email");
}});
List<User> userList = result.getList();
```
在这个例子中,我们定义了一个 `User` 类,它有三个字段:`name`、`phone` 和 `email`。我们使用 easypoi 的 `ExcelImportUtil.importExcelMore()` 方法导入 Excel 数据,并且通过一个 LinkedHashMap 指定 Excel 中每列数据对应的实体类属性。由于我们的 Excel 表格是按照“姓名”、“手机号码”和“邮箱地址”的顺序排列的,所以我们在 LinkedHashMap 中也按照这个顺序指定了属性名。
请注意,由于我们使用了 LinkedHashMap,所以我们指定的顺序将会被保留。如果你的 Excel 表格中的列顺序与实体类属性顺序不同,你可以根据需要调整 LinkedHashMap 中的键值对顺序。
最后,我们通过 `ExcelImportResult.getList()` 方法获取导入的实体类列表。
阅读全文