我正在Sping Boot 项目中使用org.jxls库来读取Excel文件。阅读过程工作正常,但是当它遇到空单元格时,它会引发org.jxls.reader.XLSDataReadException异常。我想跳过阅读空单元格并继续下一个单元格。
下面是我的XML配置文件。
<?xml version="1.0" encoding="ISO-8859-1"?>
<workbook>
<worksheet name="Sheet1">
<section startRow="0" endRow="0" />
<loop startRow="1" endRow="1" items="estimations" var="estimation"
varType="com.osi.exceljxls.entities.Estimation">
<section startRow="1" endRow="1">
<mapping row="1" col="0">estimation.role</mapping>
<mapping row="1" col="1">estimation.noOfResources</mapping>
<mapping row="1" col="3">estimation.projectLocation</mapping>
<!-- Other mappings -->
<!-- ... -->
<cellcheck offset="0" evaluator="org.jxls.common.cell.reader.IsEmptyCellCheck" />
</section>
<loopbreakcondition>
<rowcheck offset="0">
<cellcheck offset="0" />
</rowcheck>
</loopbreakcondition>
</loop>
</worksheet>
</workbook>
字符串
我已经尝试添加如上所示的<cellcheck />
标记,但似乎不起作用。
我也考虑过处理异常,但我不确定在这种情况下如何继续。
我将感谢任何关于如何跳过阅读空单元格或如何在遇到空单元格时处理XLSDataReadException的见解或建议。在此先谢谢您!
1条答案
按热度按时间ngynwnxp1#
我已经找到解决办法了。在我的服务类中,我需要在阅读excel之前添加这行代码,以避免
org.jxls.reader.XLSDataReadException
异常:ReaderConfig.getInstance().setSkipErrors(true);
。通过这种调整,代码将读取空单元格并返回0,没有任何问题。