Я пробовал разные решения, опубликованные при переполнении стека, чтобы применить цвет фона к ячейке, сгенерированной Apache POI, но ничего не получалось.
Я делаю что-то вроде:
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet(sheetName);
XSSFCellStyle cellStyle = ((XSSFCellStyle) workbook.createCellStyle());
if (styleObject.getBgColor() != null) {
java.awt.Color javaBdgColor = java.awt.Color.decode(voceStyle.getBgColor()); // this is #FFF000
XSSFColor bgColor = new XSSFColor(javaBdgColor, new DefaultIndexedColorMap());
cellStyle.setFillForegroundColor(bgColor.getIndex());
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
}
Row newRow = Rowsheet.createRow(0);
Cell newCell = newRow.createCell(0);
newCell.setCellStyle(cellStyle);
// write file
String pathFileExport = buildPathExportFile("test-export");
FileOutputStream fileOut = new FileOutputStream(pathFileExport);
workbook.write(fileOut);
fileOut.close();
//close workbook
workbook.close();
return Paths.get(pathFileExport);
Я думаю, что все хорошо в моем коде, но каждая ячейка, стилизованная таким образом, приведет к черному фону.
У меня есть некоторые сомнения по поводу экземпляра "DefaultIndexedColorMap", который находится в процессе отладки без полей:
На данный момент, я не уверен, что делать, чтобы решить. Все в других постах, кажется, работают, но у меня все еще темный фон вместо желтого.
Есть предложения? Заранее спасибо!