Apache POI - 文本长度限制为 8 或 10
Apache POI - Constraint on text length to be 8 OR 10
我想将以下约束添加到列中:
文本长度应为 8 或 10
所有数字都应该是数字,但列的类型是字符串
你觉得可能吗?
这里我将列设置为字符串
DataFormat fmt = wb.createDataFormat();
CellStyle textStyle = wb.createCellStyle();
textStyle.setDataFormat(fmt.getFormat("@"));
sheet.setDefaultColumnStyle(1, textStyle);
然后我添加了以下约束
XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper.createTextLengthConstraint(ComparisonOperator.EQUAL, "8", null);
CellRangeAddressList addressList = new CellRangeAddressList(-1, -1, 1, 1);
XSSFDataValidation validation = (XSSFDataValidation)dvHelper.createValidation(dvConstraint, addressList);
validation.setShowErrorBox(true);
sheet.addValidationData(validation);
但不起作用,我不知道如何添加等于 8 或 10 的约束,也不知道数字应该是数字。
非常感谢
我是这样做的,虽然不是我想要的,但是可以接受:
dvConstraint = (XSSFDataValidationConstraint) dvHelper.createNumericConstraint(ValidationType.TEXT_LENGTH, OperatorType.BETWEEN, "8", "10");
addressList = new CellRangeAddressList(-1, -1, 1, 1);
validation = (XSSFDataValidation)dvHelper.createValidation(dvConstraint, addressList);
validation.setShowErrorBox(true);
sheet2.addValidationData(validation);
我想将以下约束添加到列中:
文本长度应为 8 或 10
所有数字都应该是数字,但列的类型是字符串
你觉得可能吗?
这里我将列设置为字符串
DataFormat fmt = wb.createDataFormat();
CellStyle textStyle = wb.createCellStyle();
textStyle.setDataFormat(fmt.getFormat("@"));
sheet.setDefaultColumnStyle(1, textStyle);
然后我添加了以下约束
XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper.createTextLengthConstraint(ComparisonOperator.EQUAL, "8", null);
CellRangeAddressList addressList = new CellRangeAddressList(-1, -1, 1, 1);
XSSFDataValidation validation = (XSSFDataValidation)dvHelper.createValidation(dvConstraint, addressList);
validation.setShowErrorBox(true);
sheet.addValidationData(validation);
但不起作用,我不知道如何添加等于 8 或 10 的约束,也不知道数字应该是数字。
非常感谢
我是这样做的,虽然不是我想要的,但是可以接受:
dvConstraint = (XSSFDataValidationConstraint) dvHelper.createNumericConstraint(ValidationType.TEXT_LENGTH, OperatorType.BETWEEN, "8", "10");
addressList = new CellRangeAddressList(-1, -1, 1, 1);
validation = (XSSFDataValidation)dvHelper.createValidation(dvConstraint, addressList);
validation.setShowErrorBox(true);
sheet2.addValidationData(validation);