有关Java POI导出excel表格中,单元格合并之后显示不全的解决方法。

时间:2024-03-01 07:53:05

我在table变换excel之后发现合并的单元格不能显示全部边框,在网上找了半天解决方案,终于解决了。具体解决代码如下;

/**
     * 设置合并单元格的边框样式
     * 
     * @param sheet 当前表格
     * @param region  要合并的元素
     * @param cs  设置的样式(使用未合并的单元格的样式即可)
     */
    public static void setRegionStyle(HSSFSheet sheet, CellRangeAddress region, HSSFCellStyle cs) {
     for (int i = region.getFirstRow(); i <= region.getLastRow(); i++) {
      HSSFRow row = HSSFCellUtil.getRow(i, sheet);
      for (int j = region.getFirstColumn(); j <= region.getLastColumn(); j++) {
       HSSFCell cell = HSSFCellUtil.getCell(row, (short) j);
       cell.setCellStyle(cs);
      }
     }
    }

调用方法

setRegionStyle(sheet, new CellRangeAddress(cell.getFirstRow(), cell.getLastRow(), cell.getFirstCol(), cell.getLastCol()),style);

new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);
firstRow 开始行
lastRow 结束行
firstCol 开始列
lastCol 结束列