Я использую ПОИ для создания электронной таблицы Excel в Java. Мне использовали следующий код для создания строки заголовка:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Report");
// some more code
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(cellNumber);
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setColor(HSSFColor.WHITE.index);
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
Проблема, которую я имею, - то, что установка цвета фона заливки на ячейке всегда выходит черная, независимо от того, что окрашивает, я выбираю. Что я делаю неправильно? Если я не использую "setFillPattern" строку, нет приукрашиваю шоу вообще.
Я заставил это работать. Мне пришлось установить цвет переднего плана, чтобы цвет фона работал (??).
Я изменил:
cellStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
на:
cellStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
, и это сработало!