2013-06-21 16 views
25

Ho scansionato questo forum più e più volte e ho provato tutti i metodi menzionati qui e ancora non riesco a ottenere Apache POI da modificare per riempire il colore di sfondo del mio documento Excel.Impossibile impostare il colore di riempimento Apache POI Cartella di lavoro Excel

Ecco il mio codice:

errorOccured = true; 
XSSFCellStyle cs = workbook.createCellStyle(); 
cs.setFillBackgroundColor(IndexedColors.RED.getIndex()); 
row.getCell(0).setCellStyle(cs); 

Sapete perché questo non avrebbe funzionato? Qual è il modo corretto per ottenere row.getCell(0) da riempire con il rosso (colore di sfondo)?

Grazie!

risposta

51

Usa colore di sfondo anziché Colore di sfondo.

errorOccured = true; 
XSSFCellStyle style = workbook.createCellStyle(); 
style.setFillForegroundColor(IndexedColors.RED.getIndex()); 
style.setFillPattern(FillPatternType.SOLID_FOREGROUND); 
row.getCell(0).setCellStyle(style); 

questo riempirà il colore di sfondo della cella con ROSSO.

+0

Grazie per la risposta, ma questo non funziona ancora per me. Non so perché. Sono in modalità di debug e confermo che il codice viene eseguito ma non cambia alcun colore nella cartella di lavoro .xlsx. Qualche idea? Ha qualcosa a che fare con il fatto che le celle che sto cercando di trasformare in rosso sono GIÀ riempite con riempimento giallo? –

+1

Richie: Per vedere le modifiche nel foglio Excel, è necessario eseguire il comando Write per questo. Confermare il comando workbook.write (fileoutputstream) eseguito prima di averlo visto in modalità di debug? – Sankumarsingh

+0

Mi scuso per la risposta ritardata. Questo era il problema! Non avevo capito che hai riscritto il file! Grazie mille, ricco. –

Problemi correlati