zoukankan      html  css  js  c++  java
  • 记录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;

    效果

  • 相关阅读:
    快速排序算法图文详解(模版使用)
    数据库中事务和隔离级别解析
    详解对象的创建,布局,定位,存活判断
    SpringCloud-Ribbon:认识并配置负载均衡
    SpringCloud-Feign:接口式微服务调用
    SpringCloud-Eureka(3)集群配置和了解CAP原则
    SpringCloud-Eureka(2)服务注册与信息配置
    SpringCloud-Eureka(1)认识Eureka和初步配置
    Promise
    es6
  • 原文地址:https://www.cnblogs.com/wangfl/p/12757319.html
Copyright © 2011-2022 走看看