我有一个成功创建并保存excelsheet的类。 一切正常。但是当我尝试在工作表中添加数据验证时,我得到“Excel在xyz.xlsx中找到了不可读的内容”。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击是。“< / p>
点击“是”后,我可以通过下拉列表查看excel。看起来不错。我无法弄清楚我在这里做错了什么。
这些是我添加的导致此错误的行。
private final String [] actions = new String[] { "4", "3", "2", "1" };
dvHelper = new XSSFDataValidationHelper(sheet);
constraint = (XSSFDataValidationConstraint) dvHelper.createExplicitListConstraint(actions);
CellRangeAddressList addressList = new CellRangeAddressList(iniRowCount, 0, ExcelConstants.CELL_EIGHT, 0);
XSSFDataValidation validation = (XSSFDataValidation) dvHelper.createValidation(constraint, addressList);
validation.setShowErrorBox(true);
sheet.addValidationData(validation);
cell.setCellValue("default_value");
如果我在没有注释上述行的情况下运行代码,则excel是可读的,并且单元格具有默认值。
编辑 - 想出来了。 将错误的值传递给CellRangeAddressList。