Excel数据校验:使用org.apache.poi.ss.usermodel.DataValidationHelper#createDecimalConstraint定义小数类型校验
"org.apache.poi.ss.usermodel.DataValidationHelper#createDecimalConstraint" \u65b9\u6cd5\u7528\u4e8e\u521b\u5efa\u4e00\u4e2a\u68c0\u8ba1\u89c4\u5219\uff0c\u9650\u5236\u5355\u5143\u683c\u7684\u503c\u5fc5\u987b\u4e3a\u5c0f\u6570\u7c7b\u578b\u7684\u503c\u3002\u4f46\u662f\uff0c\u53ea\u53ea\u8c03\u7528`createDecimalConstraint`\u65b9\u6cd5\u5e76\u4e0d\u4f1a\u81ea\u52a8\u5c06\u8be5\u68c0\u8ba1\u89c4\u5219\u5e94\u7528\u5230\u67d0\u4e00\u4e2a\u5355\u5143\u683c\u6216\u8005\u5217\u4e0a\u3002\u4f60\u8fd8\u9700\u8981\u5c06\u8be5\u89c4\u5219\u5e94\u7528\u5230\u76f8\u5e94\u7684\u5355\u5143\u683c\u6216\u8005\u5217\u4e0a\u3002\n\n\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\u4ee3\u7801\uff0c\u5c55\u793a\u5982\u4f55\u4f7f\u7528`createDecimalConstraint`\u65b9\u6cd5\u521b\u5efa\u4e00\u4e2a\u5c0f\u6570\u68c0\u8ba1\u89c4\u5219\uff0c\u5e76\u5c06\u5176\u5e94\u7528\u5230\u201cA\u201d\u5217\u7684\u6240\u6709\u5355\u5143\u683c\u4e0a\uff1a\n\njava\nimport org.apache.poi.ss.usermodel.*;\n\npublic class ExcelValidationExample {\n public static void main(String[] args) {\n Workbook workbook = new XSSFWorkbook();\n Sheet sheet = workbook.createSheet("Sheet1");\n\n // \u521b\u5efa\u4e00\u4e2aDataValidationHelper\u5bf9\u8c61\n DataValidationHelper validationHelper = sheet.getDataValidationHelper();\n\n // \u521b\u5efa\u4e00\u4e2aDecimalConstraint\u5bf9\u8c61\n DataValidationConstraint constraint = validationHelper.createDecimalConstraint(DataValidationConstraint.OperatorType.BETWEEN, "0.0", "100.0");\n\n // \u521b\u5efa\u4e00\u4e2aCellRangeAddressList\u5bf9\u8c61\uff0c\u6307\u5b9a\u8981\u5e94\u7528\u68c0\u8ba1\u89c4\u5219\u7684\u5355\u5143\u683c\u8303\u56f4\n CellRangeAddressList addressList = new CellRangeAddressList(0, 65535, 0, 0);\n\n // \u521b\u5efa\u4e00\u4e2aDataValidation\u5bf9\u8c61\uff0c\u5c06\u68c0\u8ba1\u89c4\u5219\u5e94\u7528\u5230\u5355\u5143\u683c\u8303\u56f4\n DataValidation validation = validationHelper.createValidation(constraint, addressList);\n\n // \u8bbe\u7f6e\u68c0\u8ba1\u89c4\u5219\n validation.setShowErrorBox(true);\n validation.setShowPromptBox(true);\n validation.createPromptBox("Validation Prompt", "Please enter a decimal value between 0.0 and 100.0.");\n validation.createErrorBox("Validation Error", "Invalid decimal value!");\n\n // \u5c06\u68c0\u8ba1\u89c4\u5219\u5e94\u7528\u5230\u201cA\u201d\u5217\u7684\u6240\u6709\u5355\u5143\u683c\u4e0a\n sheet.addValidationData(validation);\n\n // \u4fdd\u5b58\u201cworkbook.xlsx\"\u6587\u4ef6\n try {\n FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");\n workbook.write(fileOut);\n fileOut.close();\n workbook.close();\n System.out.println("Excel file has been created successfully!");\n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n}\n\n\n\u5728\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\u4e2d\uff0c\u6211\u4eec\u521b\u5efa\u4e86\u4e00\u4e2a`DataValidationHelper`\u5bf9\u8c61\uff0c\u5e76\u4f7f\u7528`createDecimalConstraint`\u65b9\u6cd5\u521b\u5efa\u4e86\u4e00\u4e2a\u5c0f\u6570\u68c0\u8ba1\u89c4\u5219\u3002\u7136\u540e\uff0c\u6211\u4eec\u4f7f\u7528`CellRangeAddressList`\u5bf9\u8c61\u6307\u5b9a\u8981\u5e94\u7528\u68c0\u8ba1\u89c4\u5219\u7684\u5355\u5143\u683c\u8303\u56f4\uff0c\u5e76\u4f7f\u7528`createValidation`\u65b9\u6cd5\u521b\u5efa\u4e00\u4e2a`DataValidation`\u5bf9\u8c61\u3002\u6700\u540e\uff0c\u6211\u4eec\u8bbe\u7f6e\u68c0\u8ba1\u89c4\u5219\u7684\u63d0\u793a\u6846\u548c\u9519\u8bef\u6846\uff0c\u5e76\u901a\u8fc7`sheet.addValidationData(validation)`\u5c06\u68c0\u8ba1\u89c4\u5219\u5e94\u7528\u5230\u201cA\u201d\u5217\u7684\u6240\u6709\u5355\u5143\u683c\u4e0a\u3002\n\n\u4f60\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u4fee\u6539\u4e0a\u8ff0\u793a\u4f8b\u4ee3\u7801\uff0c\u5c06\u68c0\u8ba1\u89c4\u5219\u5e94\u7528\u5230\u4f60\u60f3\u8981\u7684\u5355\u5143\u683c\u6216\u8005\u5217\u4e0a\u3002
原文地址: https://www.cveoy.top/t/topic/pF0l 著作权归作者所有。请勿转载和采集!