POI插入行,合并行的单元格
1、POI插入行,合并行的单元格
2、代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | /** * * @Title: insertRow * @Description: TODO 插入行 * @param sheet * @param insertRowIndex * @Author:wushigao * @CreateDate:2022 Mar 17 14:06:05 */ public static Row insertRow(Sheet sheet, int insertRowIndex) { if (insertRowIndex <= sheet.getLastRowNum()) { sheet.shiftRows(insertRowIndex, sheet.getLastRowNum(), 1 ); } int tempRowIndex = insertRowIndex- 1 ; Row rowTemplate = sheet.getRow(tempRowIndex); int cellNum = rowTemplate.getLastCellNum() - rowTemplate.getFirstCellNum(); Row insertRow = sheet.createRow(insertRowIndex); for ( int cellIndex= 0 ;cellIndex<cellNum;cellIndex++){ insertRow.createCell(cellIndex); } POIUtils.copyCellStyleToRow(rowTemplate,insertRow); int count = sheet.getNumMergedRegions(); if (count > 0 ) { for ( int index = 0 ;index<count;index++) { CellRangeAddress cellRangeAddress = sheet.getMergedRegion(index); int firstRow = cellRangeAddress.getFirstRow(); if (firstRow == tempRowIndex) { CellRangeAddress region = new CellRangeAddress(insertRowIndex, insertRowIndex, cellRangeAddress.getFirstColumn(), cellRangeAddress.getLastColumn()); //起始行,结束行,起始列,结束列 sheet.addMergedRegion(region); } } } return insertRow; } |
3、复制合并单元格方法
1 2 3 4 5 6 7 8 9 10 11 | int count = sheet.getNumMergedRegions(); if (count > 0 ) { for ( int index = 0 ;index<count;index++) { CellRangeAddress cellRangeAddress = sheet.getMergedRegion(index); int firstRow = cellRangeAddress.getFirstRow(); if (firstRow == tempRowIndex) { CellRangeAddress region = new CellRangeAddress(insertRowIndex, insertRowIndex, cellRangeAddress.getFirstColumn(), cellRangeAddress.getLastColumn()); //起始行,结束行,起始列,结束列 sheet.addMergedRegion(region); } } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-12-02 Eclipse的知识积累