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();