使用POI向XSSF表添加数据验证会导致“Excel发现不可读的内容...”错误

时间:2013-09-02 03:34:45

标签: java excel apache-poi xssf

我有一个成功创建并保存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。

0 个答案:

没有答案