我正在使用poi poi-ooxml-4.0.0在spring java项目中导出一个excel,但是显示了错误:
Caused by: java.lang.IllegalArgumentException: List validation with explicit values must specify at least one value
at org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint.<init>(XSSFDataValidationConstraint.java:50) ~[poi-ooxml-4.0.0.jar!/:4.0.0]
at org.apache.poi.xssf.usermodel.XSSFDataValidationHelper.createExplicitListConstraint(XSSFDataValidationHelper.java:66) ~[poi-ooxml-4.0.0.jar!/:4.0.0]
at com.sportswin.soa.zhuolianorg.repo.DataValidationHandler.lambda$afterSheetCreate$3(DataValidationHandler.java:67) ~[classes!/:na]
at java.util.HashMap.forEach(HashMap.java:1289) ~[na:1.8.0_252]
at com.sportswin.soa.zhuolianorg.repo.DataValidationHandler.afterSheetCreate(DataValidationHandler.java:61) ~[classes!/:na]
at com.alibaba.excel.util.WriteHandlerUtils.afterSheetCreate(WriteHandlerUtils.java:103) ~[easyexcel-2.2.11.jar!/:na]
at com.alibaba.excel.util.WriteHandlerUtils.afterSheetCreate(WriteHandlerUtils.java:93) ~[easyexcel-2.2.11.jar!/:na]
at com.alibaba.excel.context.WriteContextImpl.initSheet(WriteContextImpl.java:188) ~[easyexcel-2.2.11.jar!/:na]
at com.alibaba.excel.context.WriteContextImpl.currentSheet(WriteContextImpl.java:122) ~[easyexcel-2.2.11.jar!/:na]
at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:53) ~[easyexcel-2.2.11.jar!/:na]
at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:161) ~[easyexcel-2.2.11.jar!/:na]
at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:146) ~[easyexcel-2.2.11.jar!/:na]
at com.sportswin.soa.zhuolianorg.repo.UploadSparkUserDAO.addRemark(UploadSparkUserDAO.java:103) ~[classes!/:na]错误很清楚,告诉我列表验证列值必须设置,但有时数据验证列没有数据,是否可以不使用默认值输出excel?就像这样:

发布于 2022-02-17 03:42:32
因为您没有像注释所说的那样显示您的代码,所以请检查您的listOfValues为null或大小为0。错误消息是清楚的,您不能将null传递给listOfValues。我谓词您从代码中的某些数据源生成验证。因此,请检查错误列数据是否为空。这就是问题所在,您应该确保所有的验证列都至少有一个选择。
https://stackoverflow.com/questions/71136246
复制相似问题