记录POI导入时单元格下拉框两种实现方式(excel数据有效性)

Posted wangfl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录POI导入时单元格下拉框两种实现方式(excel数据有效性)相关的知识,希望对你有一定的参考价值。

如果下拉选项字符少于225 使用方式1

    public static HSSFSheet setHSSFValidation(HSSFSheet sheet, String[] textlist, int firstRow, int endRow, int firstCol,int endCol) {
        // 加载下拉列表内容
        DVConstraint constraint = DVConstraint
                .createExplicitListConstraint(textlist);//textlist  下拉选项的 数组 如{列表1,列表2,。。。。。}
        // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
        CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, firstCol, endCol);
        // 数据有效性对象
        HSSFDataValidation data_validation_list = new    HSSFDataValidation(regions, constraint);
        sheet.addValidationData(data_validation_list);
        return sheet;
    }

如果下拉选项较大 可以采用引用数据源的方式:

public static DataValidation SetDataValidation(HSSFWorkbook wb, String strFormula, int firstRow, int endRow, int strCol, int endCol) {
        // 表示A列1-59行作为下拉列表来源数据
        // String formula = "typelist!$A$1:$A$59" ;数据源位置
        // 原顺序为 起始行 起始列 终止行 终止列
        CellRangeAddressList regions = new CellRangeAddressList(firstRow, endRow, strCol, endCol);
        DataValidationHelper dvHelper = new HSSFDataValidationHelper(wb.getSheet("说明"));//说明=数据源所在的sheet页
        DataValidationConstraint formulaListConstraint = dvHelper.createFormulaListConstraint(strFormula);
        DataValidation dataValidation = dvHelper.createValidation(formulaListConstraint, regions);

        return dataValidation;

效果

技术图片

 

以上是关于记录POI导入时单元格下拉框两种实现方式(excel数据有效性)的主要内容,如果未能解决你的问题,请参考以下文章

Poi导出Excel模版设置单元格为下拉框格式

POI 实现合并单元格以及列自适应宽度

POI实现大数据EXCLE导入导出,解决内存溢出问题

POI设置单元格内容下拉框选择和单元格提示功能

POI设置单元格内容下拉框选择和单元格提示功能

POI实现Excel导入导出