Копирование одного HSSFCellStyle во многие ячейки 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, а затем просто скопируйте его в другие ячейки.

1 ответ

Решение
HSSFCellStyle cellStyle;

private static void setCellColor(HSSFWorkbook workbook, HSSFCell cell1) {
    if (cellStyle == null) {
        cellStyle = workbook.createCellStyle();
        cellStyle = workbook.createCellStyle();
        cellStyle.setFillForegroundColor(HSSFColor.RED.index);
        cellStyle.setBorderTop((short) 1);
    }
    cell1.setCellStyle(cellStyle);
}
Другие вопросы по тегам