Java poi 5.0进行某一列相同数据的合并

现有需求是将A列这一列中相同数据的列进行上下合并;代码如下

//        //相同的凭证号合并
        int x = 2;//设置初始行号
        for (int z = 2;z <= sheet.getLastRowNum();z++){
            if (!sheet.getRow(x).getCell(0).getStringCellValue().equals(sheet.getRow(z).getCell(0).getStringCellValue())){//如果数据不相同,则合并到上一行
                sheet.addMergedRegion(new CellRangeAddress(x,z-1,0,0));合并单元格,参数依次为起始行,结束行,起始列,结束列 (索引0开始)
                x = z;
            }
        //判断是否是最后一行,是的话将前面与最后一行相同数据的列合并
            if (z == sheet.getLastRowNum()){
                sheet.addMergedRegion(new CellRangeAddress(x,z,0,0));合并单元格,参数依次为起始行,结束行,起始列,结束列 (索引0开始)
            }
        }

由于我是poi中的行和列都是从零开始计算的,因此如果要合并A列中相同的数据,则行应该从第2行开始,列就是第0列,如果不确定,可以将getRow(行号).getCell(列号).getStringCellValue()打印处理。

效果如下

可以看到相同数据的已经进行合并了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值