gpt4 book ai didi

java - 如何使用 Apache POI 在 Excel 文件中添加数据验证?

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:56 28 4
gpt4 key购买 nike

我正在使用 Apache POI 创建一个包含下拉列表的 Excel 文件。但是,下拉列表仍然是可编辑的,并且用户将能够输入值。我在 Excel 中看到,当用户输入不在列表中的值时,我可以显示错误消息。下面是我设置约束的代码部分。

// Add dropdown for department column
validationHelper = new XSSFDataValidationHelper(sheet);
CellRangeAddressList addressList = new CellRangeAddressList(6, 10006, 2, 2);
// DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(departmentList);
constraint = validationHelper.createExplicitListConstraint(departmentList);
dataValidation = validationHelper.createValidation(constraint, addressList);
dataValidation.setSuppressDropDownArrow(true);

sheet.addValidationData(dataValidation);

我能够正确显示列表,但是,它不会显示错误消息。是否有可能做到这一点?如果是这样,我该怎么办?任何帮助深表感谢。谢谢。

最佳答案

你错过了线路

dataValidation.setShowErrorBox(true);

您可以自定义错误框

dataValidation.setErrorStyle(DataValidation.ErrorStyle.STOP);
dataValidation.createErrorBox("Title", "Message");

综合起来就是这样

var validationHelper = new XSSFDataValidationHelper(sheet);
var listConstraint = validationHelper.createExplicitListConstraint(departmentList);
var range = new CellRangeAddressList(6, 10006, 2, 2);

var dataValidation = validationHelper.createValidation(listConstraint, range);
dataValidation.setSuppressDropDownArrow(true);
dataValidation.setErrorStyle(DataValidation.ErrorStyle.STOP);
dataValidation.createErrorBox("Title", "Message");
dataValidation.setShowErrorBox(true);
sheet.addValidationData(dataValidation);

关于java - 如何使用 Apache POI 在 Excel 文件中添加数据验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37536480/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com