美文网首页
Apache poi实现excel相同列合并

Apache poi实现excel相同列合并

作者: 风一样的存在 | 来源:发表于2020-11-07 22:27 被阅读0次

这里只做工作上的记录

 /***
     * 合并相同相邻的行
     * @param sheet  
     * @param startRow
     * @param endRow
     * @param cellNo
     */
    private void mergeRow(Sheet sheet, int startRow, int endRow, int cellNo){
        if (endRow<startRow){
            return;
        }
        String oldValue = sheet.getRow(startRow).getCell(cellNo).getStringCellValue();
        int index = startRow;
        for (int i = startRow+1;i<=endRow;i++){
            if(sheet.getRow(i).getCell(cellNo)!=null){
                String cellValue = sheet.getRow(i).getCell(cellNo).getStringCellValue();
                if (oldValue.equals(cellValue)){
                    if(i==endRow){
                        sheet.addMergedRegion(new CellRangeAddress(index,endRow,cellNo,cellNo));
                    }
                }else {
                    if (index != i-1){
                        sheet.addMergedRegion(new CellRangeAddress(index, i-1, cellNo, cellNo));
                        oldValue = sheet.getRow(i).getCell(cellNo).getStringCellValue();
                        index = i;
                    }else {
                        oldValue = sheet.getRow(i).getCell(cellNo).getStringCellValue();
                        index = i;
                    }
                }
            }
        }
    }

这里有一个坑就是相同的数据必须相邻,这样才能合并

相关文章

网友评论

      本文标题:Apache poi实现excel相同列合并

      本文链接:https://www.haomeiwen.com/subject/quzqbktx.html