Closed chuyuanlinzi closed 5 years ago
Hi 抱歉刚看到你提的问题,首先由于Excel.read(或者Excel.write)一次可以处理流中的多个sheet,设计beforeProcess和afterProcess主要是给用户提供一个’时机‘: 可以在操作sheet的前或后做其他准备操作(比如记录日志已经开始(或结束)读(或写)某个sheet);其次’非空校验‘可以参考demo01中的
fieldMapping.put("A", "byteField").setRequired(true).setLinkField("url");
; 对输入的校验可以通过 ExcelReadCellProcessor 或 ExcelReadRowProcessor进行,如果【校验不通过】可以直接抛出异常,ExcelUtils会将异常最终封装成 ExcelReadException,该异常类中包含业务校验失败的行和列信息,你可以将这个信息返回给用户,方便他们定位具体是哪行(哪类)的具体问题。
更多的demo示例参考: https://github.com/hellojavaer/poi-excel-utils/tree/master/src/test/java/org/hellojavaer/poi/excel/utils 直观的操作示例:https://github.com/hellojavaer/poi-excel-utils/wiki
如题,我在beforeProcess中进行字段校验,发现dataList根本没有数据,查代码,发现beforeProcess的调用在setDataList之前,所以只能放弃,求其次只能放到process方法中了,但总感觉怪怪的,难道beforeProcess不应该是在process处理数据之前做的前置工作吗?