luohairen
2024-11-14 247cb86585a1d1894596ed18a6c93efecb992946
src/main/java/com/ycl/jxkg/excel/SelectExcel.java
@@ -29,7 +29,7 @@
    /**
     * 选项下拉数据
     */
    private String[] optionList = {"A","B","C","D","E","F","G","H"};
    private String[] optionList = {"A", "B", "C", "D", "E", "F", "G", "H"};
    public SelectExcel(List subjectNameList) {
        this.subjectNameList = subjectNameList;
@@ -49,6 +49,8 @@
        // 添加题目下拉
        DataValidationConstraint questionConstraint = dataValidationHelper.createExplicitListConstraint(questionTypeList);
        DataValidation questionValidation = dataValidationHelper.createValidation(questionConstraint, questionTypeRange);
        setValidation(questionValidation);
        sheet.addValidationData(questionValidation);
@@ -57,6 +59,8 @@
        // 添加课目下拉
        DataValidationConstraint subjectConstraint = dataValidationHelper.createExplicitListConstraint(subjectNameList.toArray((new String[0])));
        DataValidation subjectValidation = dataValidationHelper.createValidation(subjectConstraint, subjectTypeRange);
        setValidation(subjectValidation);
        sheet.addValidationData(subjectValidation);
        // 设置选项下拉范围,第4列,1500行内
@@ -64,6 +68,8 @@
        // 添加选项下拉
        DataValidationConstraint optionConstraint = dataValidationHelper.createExplicitListConstraint(optionList);
        DataValidation optionValidation = dataValidationHelper.createValidation(optionConstraint, optionRange);
        setValidation(optionValidation);
        sheet.addValidationData(optionValidation);
        // 设置选项下拉范围,第4列,1500行内
@@ -71,7 +77,24 @@
        // 添加选项下拉
        DataValidationConstraint answerConstraint = dataValidationHelper.createExplicitListConstraint(optionList);
        DataValidation answerValidation = dataValidationHelper.createValidation(answerConstraint, answerRange);
        setValidation(answerValidation);
        sheet.addValidationData(answerValidation);
        // 难道1-5
        String[] difficultList = new String[]{"1", "2", "3", "4", "5"};
        CellRangeAddressList difficultRange = new CellRangeAddressList(2, 1500, 8, 8);
        // 添加选项下拉
        DataValidationConstraint difficultConstraint = dataValidationHelper.createExplicitListConstraint(difficultList);
        DataValidation difficultValidation = dataValidationHelper.createValidation(difficultConstraint, difficultRange);
        setValidation(difficultValidation);
        sheet.addValidationData(difficultValidation);
    }
    private DataValidation setValidation(DataValidation dataValidation){
        dataValidation.setEmptyCellAllowed(false);
        dataValidation.setSuppressDropDownArrow(true);
        dataValidation.setShowErrorBox(true);
        //设置输入错误提示信息
        dataValidation.createErrorBox("选择错误提示", "你输入的值未在备选列表中,请下拉选择合适的值!");
        return dataValidation;
    }
}