Constraints POI-无法为一系列单元格创建自定义验证

Constraints POI-无法为一系列单元格创建自定义验证,constraints,apache-poi,validation,Constraints,Apache Poi,Validation,我需要检查用户是否在单元格A1:A10中输入了有效数字。在Excel中,我会选择单元格,然后创建一个自定义验证器,并将公式设置为=isNumber($a$1:$A10) 使用POI尝试这样做会让我陷入困境: 以下是我尝试过的: CellRangeAddressList addressList = new CellRangeAddressList(0, 10, 0, 0); XSSFDataValidationHelper dvHelper = new XSSFDataValida

我需要检查用户是否在单元格A1:A10中输入了有效数字。在Excel中,我会选择单元格,然后创建一个自定义验证器,并将公式设置为=isNumber($a$1:$A10) 使用POI尝试这样做会让我陷入困境: 以下是我尝试过的:

CellRangeAddressList addressList = new CellRangeAddressList(0, 10, 0, 0);
        XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper(sheet);
        DataValidationConstraint customConstraint = dvHelper.createCustomConstraint("isNumber(\"$A$0:$A$10\"");
        XSSFDataValidation validation = (XSSFDataValidation)dvHelper.createValidation(customConstraint, addressList);
        validation.setShowErrorBox(true);
        sheet.addValidationData(validation);
当我尝试在Excel中打开它时,会出现一个错误,Excel会禁用验证

提前谢谢
-anish

您可以将excel转换为csv,然后使用SuperCSV执行验证。这会很长,但更容易。

你找到什么了吗?
CellReference crStartCell = new CellReference(startRow, column, true, true); // 0-based row and column index
CellReference crEndCell = new CellReference(endRow, column, true, true);
XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper.createCustomConstraint("ISNUMBER("+crStartCell.formatAsString()+":"+crEndCell.formatAsString() +")");