/**
* @Description: 添加数据有效性检查(下拉列表)
* @param firstRow 开始行
* @param lastRow 结束行
* @param firstCol 开始列
* @param lastCol 结束列
* @param explicitListValues 有效性检查的下拉列表
* @return:
* @date: 2019/12/12 14:22
* 注意:设置的某列原本不能存在下拉列表,不然新的会不生效
*/
public static void setValidationData(Sheet sheet, int firstRow, int lastRow,
int firstCol, int lastCol,String[] explicitListValues) {
if (sheet instanceof XSSFSheet) {
XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper((XSSFSheet)sheet);
XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper
.createExplicitListConstraint(explicitListValues);
CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
XSSFDataValidation validation = (XSSFDataValidation) dvHelper.createValidation(dvConstraint, addressList);
//validation.setSuppressDropDownArrow(true); //这个还没搞懂是什么
//validation.setShowErrorBox(true);//这个还没搞懂是什么
sheet.addValidationData(validation);
} else if(sheet instanceof HSSFSheet){
CellRangeAddressList addressList = new CellRangeAddressList(firstRow, lastRow, firstCol, lastCol);
DVConstraint dvConstraint = DVConstraint.createExplicitListConstraint(explicitListValues);
DataValidation validation = new HSSFDataValidation(addressList, dvConstraint);
sheet.addValidationData(validation);
}
}
POI设置Excel下拉列表(数据有效性验证)
最新推荐文章于 2023-04-21 09:45:56 发布