EasyExcel导入Excel文件不写实体类,并对文件内容作校验
时间: 2023-08-28 21:03:23 浏览: 522
eaasyexcel批量导入+校验
5星 · 资源好评率100%
EasyExcel是一款基于Java语言开发的Excel读写工具,可以轻松实现Excel文件的导入和导出。在EasyExcel中,可以使用监听器方式读取Excel文件,不需要定义实体类。同时,EasyExcel也提供了数据校验功能,可以对读取的Excel数据进行校验,保证数据的有效性。
下面是一个使用EasyExcel读取Excel文件并校验数据的示例代码:
```java
public void readExcel(InputStream inputStream) {
// 构建Excel读取对象
ExcelReader excelReader = EasyExcel.read(inputStream, new DemoDataListener()).build();
// 读取Excel文件,通过监听器方式处理读取到的数据
excelReader.read();
// 关闭Excel读取对象
excelReader.finish();
}
// 定义数据监听器
public class DemoDataListener extends AnalysisEventListener<Map<Integer, String>> {
@Override
public void invoke(Map<Integer, String> rowData, AnalysisContext context) {
// 校验Excel数据
if (rowData.containsKey(0) && rowData.containsKey(1)) {
String name = rowData.get(0);
String age = rowData.get(1);
if (StringUtils.isNotBlank(name) && StringUtils.isNumeric(age)) {
// 数据有效,可以进行后续操作
// ...
} else {
// 数据无效,可以进行相应处理
// ...
}
} else {
// 数据格式有误,可以进行相应处理
// ...
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// Excel数据读取完毕,可以进行相应处理
// ...
}
}
```
在以上示例代码中,我们通过EasyExcel构建了一个Excel读取对象,并使用数据监听器的方式读取Excel文件中的数据。在数据监听器的`invoke`方法中,我们对读取到的数据进行校验,保证数据的有效性。如果数据无效,则可以进行相应处理;如果数据有效,则可以进行后续操作。在数据监听器的`doAfterAllAnalysed`方法中,我们可以进行Excel数据读取完毕后的一些处理,比如释放资源等。
阅读全文