easyExcel如何在监听器中抛出业务异常
@Data
public class ExcelListener<T> extends AnalysisEventListener<T> {
List<Student> list = new ArrayList<Student>();
//读取表头内容
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头:"+headMap);
throw new ExcelAnalysisException("请使用模板文件!");
}
//一行一行读取excel内容
public void invoke(T data, AnalysisContext analysisContext) {
}
//读取完成之后
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
System.out.println("读取成功");
}
}
例如,如果用户导入的不是我们要求的excel,经过校验表头不正确后可以直接抛出 ExcelAnalysisException。在 cotroller 里面我们可以通过try-catch直接获取到错误信息返回给前端。
try {
EasyExcel.read(s, Student.class, new ExcelListener().sheet().doRead();
}catch (Exception e){
//获取错误信息
return e.getMessage();
e.printStackTrace();
}
有其他用法或者不足之处欢迎指出。