¿Cómo usar correctamente el formato de estilo en apache-poi?

Estoy tratando de formatear mi archivo generado de Excel a partir de mi código Java. Así es como se ve mi fragmento de código:

...
Row row = sheet.createRow(rowNum++);
CellStyle textCellStyle = workbook.createCellStyle();
if (rowNum % 2 == 0) {
    textCellStyle.setFillBackgroundColor(IndexedColors.GREEN.getIndex());
    textCellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
    textCellStyle.setFont(textFonts1);
} else {
    textCellStyle.setFont(textFonts2);
}

cell = row.createCell(0);
cell.setCellValue(student != null ? student.getIdNumber() : "");
cell.setCellStyle(textCellStyle);
...

Mi expectativa era que todas las filas pares se llenarían de fondo verde, pero el resultado producido era diferente, en su lugar, produjo fondo negro . Ya probé un color diferente o incluso cambié mi patrón de relleno, pero siempre me pongo negro.

Estoy usando poi-3.17 y poi-ooxml-3.17, excel 2007 y java 1.6

ingrese la descripción de la imagen aquí

Respuesta 1

Ha establecido un patrón de relleno para la celda como FillPatternType.SOLID_FOREGROUND . Pero no estableciste un color de primer plano. Esto significa que el color estándar (negro) se utiliza como color de primer plano.

Intenta intercambiar ...

textCellStyle.setFillBackgroundColor(IndexedColors.GREEN.getIndex());

... con ...

textCellStyle.setFillForegroundColor(IndexedColors.GREEN.getIndex());

... y debería renderizarse como esperabas. El texto en las celdas también debe ser visible.

Sin embargo, parece contradictorio establecer un color de primer plano y un patrón de relleno cuando desea establecer un fondo.

Respuesta: 2

Estamos usando AppEngine y el almacén de datos para nuestra aplicación donde tenemos una tabla de información moderadamente grande que contiene una lista con entradas. Me gustaría resumir la lista de entradas en un ...

Necesito encontrar cada lugar en el código (en el proyecto Java) donde de alguna manera trata el sistema de archivos (por ejemplo, crea un archivo, lee un archivo, obtiene la lista de archivos de directorio, etc.) ¿Cuál es el patrón más común para ...

Desde https://developers.google.com/web-toolkit/articles/fragment_merging: para habilitar esta función, simplemente agregue -XfragmentCount x a la línea de comandos del compilador GWT y el separador de código intentará ...

Estoy enfrentando problemas para entender el uso en Singleton. Entiendo que al usar el patrón singleton una vez que se crea una instancia de una clase y se comparte entre todos los usuarios. Sin embargo, esto no ...