Копирование одного 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);
}