POI java.lang.IllegalArgumentException: Merged region xxx must contain 2 or more cells问题解决

news/2024/7/24 13:02:37

问题描述:

java.lang.IllegalArgumentException: Merged region I1 must contain 2 or more cells

问题分析:

1、合并单元格区域必须为2个或2个以上的单元格,一个单元格进行合并时会报错。

    /**
     * 设置合并单元格
     *
     * @param sheet            sheet页对象
     * @param startRowIndex    开始行号
     * @param endRowIndex      结束行号
     * @param startColumnIndex 开始列号
     * @param endColumnIndex   结束列号
     */
    public void setMergeCell(Sheet sheet, int startRowIndex, int endRowIndex, int startColumnIndex, int endColumnIndex) {
        //添加合并单元格区域
        CellRangeAddress cellRangeAddress = new CellRangeAddress(startRowIndex, endRowIndex, startColumnIndex, endColumnIndex);
        sheet.addMergedRegionUnsafe(cellRangeAddress);
    }

解决办法:

设置合并单元格之前先判断合并单元格区域是否只有一个单元格。

    /**
     * 设置合并单元格
     *
     * @param sheet            sheet页对象
     * @param startRowIndex    开始行号
     * @param endRowIndex      结束行号
     * @param startColumnIndex 开始列号
     * @param endColumnIndex   结束列号
     */
    public void setMergeCell(Sheet sheet, int startRowIndex, int endRowIndex, int startColumnIndex, int endColumnIndex) {
        //合并单元格区域只有一个单元格时,不合并
        if (endRowIndex == startRowIndex && endColumnIndex == startColumnIndex) {
            return;
        }
        //添加合并单元格区域
        CellRangeAddress cellRangeAddress = new CellRangeAddress(startRowIndex, endRowIndex, startColumnIndex, endColumnIndex);
        sheet.addMergedRegionUnsafe(cellRangeAddress);
    }

http://www.niftyadmin.cn/n/566085.html

相关文章

EasyExcel ExcelDataConvertException:Can not find ‘Converter‘ support class ArrayList问题解决

问题描述: com.alibaba.excel.exception.ExcelDataConvertException: Can not find Converter support class ArrayList. 问题分析: 1、查看doWrite(List data)的源码时发现Converter接口的convertToExcelData只实现了转换BigDecimal、Bolean、Byte[]…

地下城与勇士(DNF)能源中心副本(克雷发电站、普鲁兹发电站、特伦斯发电站、格兰迪发电站、赫拉斯研究所)(童年的回忆)

1 能源中心副本图 克雷发电站普鲁兹发电站特伦斯发电站格兰迪发电站赫拉斯研究所 2 克雷发电站 业火之菲茨因为吸收了使徒安图恩的火焰能量而存活,它的双眼和心脏都是由耐高温的魔刹石组成,并且身体一直为持续燃烧状态。他可以将眼前所见的一切通通烧…

地下城与勇士(DNF)陌路者要塞副本(热血八番街、绿都格罗兹尼 )(童年的回忆)

位于西海岸,很久前因领土纷争而变为废墟,某种程度上可以算是三不管地带,不过即使如此,也依旧有人在这里顽强的生活着,据说那些受到排挤的异能者就在此抱团取暖。 原本隐居在此与世无争的异能者却忽然行动,幕…

Java 后端将Long类型数据序列化之后传给前端出现数据精度失真问题解决

问题描述: 后端代码Long数据为201511200001725439。 GetMapping("/getUser")public User getUser(){User usernew User(201511200001725439L,"xudongmaster","123");return user;} 前端接收的数据就变为201511200001725440。但是Po…

股票问题 - 121. 买卖股票的最佳时机

121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从…

手写 promise

// 1、基本架构: // 状态 // then // 执行器函数 executor// 2、executor、resolve、reject // 3、then 同步下调用 // 4、then 异步下调用 // 5、then 链式调用 // 返回 Promise // then 函数递归返回常量结果,供下个 then 使用 // 考虑 th…

Java Consider marking one of the beans as @Primary问题解决

问题描述: Consider marking one of the beans as Primary, updating the consumer to accept multiple beans, or using Qualifier to identify the bean that should be consumed 问题分析: 1、使用Autowired自动装配的接口在另外一个定义的地方使用…

POI 实现读取项目中的模板文件并往模板文件中写数据

1 maven依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.7</version></dependency> 2 读取项目中的模板文件 /*** 获取项目中文件&#xff0c;不存在返回null* param file…