将样式应用于单元格区域 - Apache POI



我正在寻找一种解决方案,将样式应用于一系列单元格,而不必循环使用。

尝试了在堆栈溢出上到处找到的其他解决方案,但没有一个奏效。例如,这对我不起作用:

CellRangeAddress region = CellRangeAddress.valueOf("A1:B2");
short borderStyle = CellStyle.BORDER_THIN;
RegionUtil.setBorderBottom(borderStyle, region, activeSheet, excelWorkbook);
RegionUtil.setBorderTop(borderStyle, region, activeSheet, excelWorkbook);
RegionUtil.setBorderLeft(borderStyle, region, activeSheet, excelWorkbook);
RegionUtil.setBorderRight(borderStyle, region, activeSheet, excelWorkbook);

它将边框添加到所选内容的外边缘,而不是内部单元格。我想为范围内的每个单元格设置边框。没有循环甚至可能吗?

谢谢

我认为您无法将样式应用于范围单元格中的所有单元格,而无需将其单独应用于单个单元格。

尝试遍历每个单元格并应用所有边框。

下面是一个可能对您有所帮助的示例:

CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setBorderLeft(CellStyle.BORDER_THIN);
cellStyle.setBorderRight(CellStyle.BORDER_THIN);
cellStyle.setBorderTop(CellStyle.BORDER_THIN);
cellStyle.setBorderBottom(CellStyle.BORDER_THIN);
for(int i=region.getFirstRow();i<region.getLastRow();i++){
    Row row = sheet.getRow(i);
    for(int j=region.getFirstColumn();j<region.getLastColumn();j++){
        Cell cell = row.getCell(j);
        cell.setCellStyle(cellStyle);
    }
}

相关内容

  • 没有找到相关文章

最新更新