美文网首页
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