Java Apache POI整数验证
XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper(
destinationSheet);
XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper
.createIntegerConstraint(OperatorType.EQUAL, "0", "10");
CellRangeAddressList addressList = new CellRangeAddressList(7,
destinationSheet.getLastRowNum() + 1, 9, destinationSheet
.getRow(0).getLastCellNum());
XSSFDataValidation validation = (XSSFDataValidation) dvHelper
.createValidation(dvConstraint, addressList);
validation.setErrorStyle(ErrorStyle.STOP);
validation.createErrorBox("Error", "Only numeric values are allowed");
destinationSheet.addValidationData(validation);
我使用了上面的代码,它不起作用,仍然接受手机上的任何内容。如果我是对的,这条线就是罪魁祸首
XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper
.createIntegerConstraint(OperatorType.EQUAL, "0", "10");
基本上,我希望单元格范围中的单元格只接受0和10,并限制字母字符。我也试过OperatorType.BETWEEN
,但运气不好
这是我的推荐信Busy Developer
# 1 楼答案
当用户输入无效数据时,上面的代码不会显示错误
XSSF中的实现不同于HSSF,后者不需要
validation.setShowErrorBox(true);
行来工作。我在之前的实现中使用了HSSF,这导致没有将淋浴箱设置为true