Sto utilizzando POI per creare un foglio di calcolo Excel in Java. Ho il seguente codice utilizzato per la creazione di una riga di intestazione:L'impostazione del colore di primo piano per HSSFCellStyle viene sempre visualizzata in nero
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);
Il problema che sto avendo è che l'impostazione del colore di riempimento di sfondo della cella viene sempre fuori il nero, non importa di che colore prendo. Che cosa sto facendo di sbagliato? Se non utilizzo la riga "setFillPattern", non viene mostrato alcun colore.
Ah, ho capito. Ho bisogno di cambiare il colore di primo piano per cambiare il colore dello sfondo - geniale! – Pakman
Salvato molte ore di disperazione, qualcuno sa perché funziona così? – CGK
Penso che la cella sia dipinta con un motivo costituito da pixel in primo piano e sullo sfondo. Se utilizzi SOLID_FOREGROUND, sono visibili solo i pixel in primo piano. Questo colore è diverso dal colore utilizzato per il rendering del testo, che è impostato con il carattere. – Axel