栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

poi导出excel添加数据验证

Java 更新时间:发布时间: 百科书网 趣学号

Java使用poi做excel导出时,可能要添加数据验证。

  
    public static Workbook setDataValidation(Workbook workbook, Map map){
        Sheet sheet2 = workbook.createSheet("数据验证");
        int maxRow = 0;
        for (String[] data : map.values()) {
            maxRow = Math.max(maxRow, data.length);
        }
        for (int i = 0; i < maxRow; i++) {
            Row row = sheet2.createRow(i);
            for (int key : map.keySet()) {
                String[] value = map.get(key);
                if(i < value.length){
                    Cell cell = row.createCell(key);
                    cell.setCellValue(value[i]);
                }
            }
        }
        for (int key : map.keySet()) {
            // [参考本人另一边文章](https://blog.csdn.net/weixin_42576654/article/details/120568228)
            String keyChar = getCharByNum(key);
            String strFormula = "数据验证!$"+ keyChar +"$1:$"+ keyChar +"$"+ map.get(key).length;
            XSSFDataValidationConstraint constraint = new XSSFDataValidationConstraint(DataValidationConstraint.ValidationType.LIST,strFormula);
            // 设置数据有效性加载在哪个单元格上,四个参数分别是:起始行、终止行、起始列、终止列
            CellRangeAddressList regions = new CellRangeAddressList(1,65535, key, key);
            // 数据有效性对象
            DataValidationHelper help = new XSSFDataValidationHelper((XSSFSheet) workbook.getSheetAt(0));
            DataValidation validation = help.createvalidation(constraint, regions);
            workbook.getSheetAt(0).addValidationData(validation);
        }
        workbook.setSheetHidden(workbook.getSheetIndex("数据验证"),true);
        return workbook;
    }
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/282179.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号