将单个 HSSFCellStyle 复制到 HSSFWorkbook 的多个单元格

Copying a single HSSFCellStyle to many cells of HSSFWorkbook

我想创建一个 HSSFCellSyle 并将其复制到文本满足某些特定条件的单元格中。

目前,我正在使用一种方法在每次单元格满​​足条件时创建新的 HSSFCellSyle,尽管样式参数相同。

此外,由于工作簿的 HSSFCellStyles 最大数量限制,这不起作用(超过限制时)。

方法如下:

private static void setCellColor(HSSFWorkbook workbook,HSSFCell cell1){
    HSSFCellStyle cellStyle = workbook.createCellStyle();
    cellStyle = workbook.createCellStyle();
    cellStyle.setFillForegroundColor(HSSFColor.RED.index);
    cellStyle.setBorderTop((short) 1);
    cell1.setCellStyle(cellStyle);
}

请建议如何只制作一个 HSSFCellStyle 对象,然后将其复制到其他单元格。

HSSFCellStyle cellStyle;

private static void setCellColor(HSSFWorkbook workbook, HSSFCell cell1) {
    if (cellStyle == null) {
        cellStyle = workbook.createCellStyle();
        cellStyle.setFillForegroundColor(HSSFColor.RED.index);
        cellStyle.setBorderTop((short) 1);
    }
    cell1.setCellStyle(cellStyle);
}