父类是easyexcel的AnalysisEventListener类,用于写解析excel的业务逻辑
结构如下
/**
* @author jipengfei
*/
public abstract class AnalysisEventListener<T> {
/**
* when analysis one row trigger invoke function
*
* @param object one row data
* @param context analysis context
* 这个方法,解析一行则会被调用一次 T为一行的excel数据
*/
public abstract void invoke(T object, AnalysisContext context);
/**
* if have something to do after all analysis
* 这个是所有解析完成之后会被调用的方法
* @param context
*/
public abstract void doAfterAllAnalysed(AnalysisContext context);
}
一般都是继承这个父类,然后重写这两个方法来实现自己的业务逻辑,比如说校验数据,保存数据等。
但是仔细想想,比如说我在invoke里面,必定要执行的逻辑有,1.数据校验 2.数据保存 3.异常捕获。
这三个逻辑,任由开发自由发挥,混杂在一起,不明晰不说,还容易出错,比如说现在项目到处乱飞的空指针异常和各种没有catch住的异常。
特别是,开发没有注意到的异常,一旦抛出,会中断整个解析,如果catch住了这个异常,只会影响到这一行数据,而不会中断整个文件的解析, 特别是当文件比较大 数据比较多的时候,尤其重要!
思路,再次定义一个抽象子类,定义handler接口,保存数据, 定义varify接口,校验数据 ,同时组合在一起,try catch 住这两个方法,以免有开发没有注意到的异常

本文探讨了在使用EasyExcel解析Excel时,如何通过创建抽象子类并定义接口来封装数据校验和保存逻辑,以避免业务逻辑混杂导致的错误。通过异常捕获确保单行数据错误不会中断整个文件的解析,提高了解析大文件的安全性和可靠性。
最低0.47元/天 解锁文章
170万+

被折叠的 条评论
为什么被折叠?



