Java apache poi: excel couleur de la cellule

Je suis en train de changer l'arrière-plan d'une cellule avec apache poi.

Je sais il y a beaucoup de réponses à ce sujet, mais je suis en utilisant la dernière version, (3.16) et ils sont tous obsolète.

Par exemple toutes les réponses suggèrent que j'utilise

CellStyle#setFillPattern(CellStyle.SOLID_FOREGROUND);

mais il est déconseillé entièrement.

Donc, à la suite de l'apache docs, j'ai remplacé tous les déprécié fonctions par les nouveaux, et est venu avec cette MCVE:

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Mcve{
public static void main(String[] args) {
//Make workbook and first sheet
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("sheet1");
//Make a style
XSSFCellStyle style = workbook.createCellStyle();
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
style.setFillBackgroundColor(IndexedColors.RED.getIndex());
//Fill first line
Row row = sheet.createRow(0);
int i = 0;
while (i < 5) {
Cell cell = row.createCell(i);
cell.setCellValue("TestCell " + i++);
cell.setCellStyle(style);
}
//Write to file
File f = new File("Yourfilepathhere/document.xlsx"); //<-- FILL HERE
try (FileOutputStream out = new FileOutputStream(f)) {
workbook.write(out);
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

Je vous suggère de le coller dans un nouveau projet Maven dans votre IDE de choix et s'il vous plaît ajouter ces dépendances pour votre pom.xml:

https://pastebin.com/CXdViuW5

Maintenant, sur la dernière version de Excel, ce soit des tirages, noir de cellules ou blanc normal de fond des cellules, en fonction de la couleur.
J'ai essayé plusieurs couleurs et de styles, ne semble pas être travail. Le texte est toujours là, mais le contexte ne s'applique pas.

Ce que je fais mal là les gars?

InformationsquelleAutor Lory A | 2017-05-10