java excel 导入 加校验_Java通过POI为Excel添加数据验证

String path = "d:\\success.xlsx";

String sheetName = "sheetlist";

XSSFWorkbook wb = null;

XSSFSheet sheetlist = null;

File inputFile = new File(path);

if (inputFile.exists()) {

wb = new XSSFWorkbook(new FileInputStream(path));

} else {

wb = new XSSFWorkbook();// excel文件对象

}

if (wb.getSheet(sheetName) == null) {

sheetlist = wb.createSheet(sheetName);// 工作表对象

} else {

sheetlist = wb.getSheet(sheetName);// 工作表对象

}

DataValidationHelper helper = sheetlist.getDataValidationHelper();

List dataValidations = sheetlist.getDataValidations();

for (XSSFDataValidation dv : dataValidations) {

// 已有的验证

}

//

CellRangeAddressList dstAddrList = new CellRangeAddressList(0, 500, 0, 0);// 规则一单元格范围

String[] textlist = { "列表1", "列表2", "列表3", "列表4", "列表5" };

DataValidation dstDataValidation = helper.createValidation(helper.createExplicitListConstraint(textlist),

dstAddrList);

dstDataValidation.createPromptBox("提示头", "提示内容");

dstDataValidation.setShowErrorBox(true);

dstDataValidation.setShowPromptBox(true);

dstDataValidation.setEmptyCellAllowed(false);

sheetlist.addValidationData(dstDataValidation);

CellRangeAddressList dstAddrList2 = new CellRangeAddressList(0, 500, 1, 1);// 规则二单元格范围

DataValidationConstraint dvc = helper.createNumericConstraint(DVConstraint.ValidationType.INTEGER,

DVConstraint.OperatorType.BETWEEN, "0", "9999999999");

DataValidation dstDataValidation2 = helper.createValidation(dvc, dstAddrList2);

dstDataValidation2.createErrorBox("填错输啦!", "只能填那个啥啥啥");

dstDataValidation2.setEmptyCellAllowed(false);

dstDataValidation2.setShowErrorBox(true);

sheetlist.addValidationData(dstDataValidation2);

FileOutputStream out = new FileOutputStream(path);

wb.write(out);

out.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值