Java ApachePOI-文本长度限制为8或10
我想在一列中添加以下约束:Java ApachePOI-文本长度限制为8或10,java,apache-poi,xssf,Java,Apache Poi,Xssf,我想在一列中添加以下约束: 文本长度应为8或10 所有数字都应为数字,但列的类型为字符串 你认为可能吗 在这里,我将列设置为string DataFormat fmt = wb.createDataFormat(); CellStyle textStyle = wb.createCellStyle(); textStyle.setDataFormat(fmt.getFormat("@")); sheet.setDefaultColumnStyle(1, textStyle); 然后我添加了以下
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);
您将如何在Excel中执行约束?如果在Apache POI中以相同的方式指定,会发生什么情况?在excel中,必须使用上面的选项(而不是函数)在excel中创建所需的约束,然后使用Apache POI读回,查看Excel决定如何将其编码为文件格式?提示:
operatorType
in不是ComparisonOperator
,它是一个字节,但它是一个int
。