EasyExcel导入判断标题是否和后台模板一致

导入用户信息,需要判断导入模板数据是否符合模板要求,没有找到合适的办法。

因为导入时,会1、调用invoke方法解析数据,也会2、在所有数据解析完成 后调用doAfterAllAnalysed方法,最后通过saveData保存数据。

所以在

EasyExcel.read(inputStream, xxUser.class, new xxUserListener(xxService,isRightList,errorList)).sheet().headRowNumber(2).doRead();
isRightList:如果有符合模板的数据,在保存时添加元素
errorList:存放错误数据

如果saveData方法,就给isRightList添加元素

this.isRightList.add("1");

这样读取结束后,controller里可以通过list大小来判断,如果isRightList.size()>0||errorList.size()>0证明导入数据标题是符合后台模板要求的,否则是不符合要求或者空数据文件。

暂时就想到这些,欢迎大佬补充指导。

EasyExcel是一个基于Java的简单、快速、占用内存小的Excel读写库,它提供了强大的异常捕获机制,尤其是当Excel导入的字段格式与Vo(Value Object)字段格式不一致时。在使用EasyExcel进行数据导入时,可以通过监听器来捕获和处理各种异常。 在EasyExcel中,你可以实现`ReadListener`接口来自定义读取过程中的行为。在读取监听器中,你可以重写`onException`方法,这样当出现格式不匹配等异常时,这个方法会被调用。 下面是一个简单的示例代码,展示了如何捕获字段格式不一致的异常: ```java import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.exception.ExcelDataConvertException; import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.Head; import com.alibaba.excel.convert.ExcelDataConvert; public class CustomImportListener extends AnalysisEventListener<YourVoClass> { @Override public void invoke(YourVoClass data, AnalysisContext context) { // 你的数据处理逻辑 } @Override public void onException(Exception exception, AnalysisContext context) { // 判断异常类型 if (exception instanceof ExcelDataConvertException) { ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException)exception; Head head = excelDataConvertException.getCurrentHead(); CellData cellData = excelDataConvertException.getCellData(); // 在这里可以根据head和cellData来获取具体是哪个字段不匹配,并进行相应的异常处理 } } } ``` 在这个监听器中,如果读取过程中发生了Excel数据转换异常,`onException`方法会被触发,你可以获取到具体的异常信息,并判断是否是因为字段格式不一致导致的。如果是,你可以进行相应的处理,比如记录日志、发送错误通知等。 使用监听器捕获异常是一种常用且有效的方法,能够确保在数据导入过程中出现问题时,能够及时发现并处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值