Создание пользовательских стилей цвета для XSSFWorkbook в Apache POI 4.0 - PullRequest
0 голосов
/ 16 сентября 2018

Чтобы применить пользовательский цвет для XSSFWorkbook в Apache POI 3.7 и ниже, возможно следующее:

java.awt.Color c = new java.awt.Color (1,2,3)
XSSFCellStyle xcs = xssfWorkbook.createCellStyle();
XSSFFont headerFont = xssfWorkbook.createFont();
headerFont.setColor(new XSSFColor(c));
xcs.setFont(headerFont);
cell.setCellStyle(xcs);

В версии 4.0 XSSFColor (java.awt.Color) был удален. Это все еще возможно добейтесь того же самого, просто с помощью дополнительных «хакеров»:

XSSFColor xc = new XSSFColor();
xc.setARGBHex(String.format("%02x%02x%02x",c.getRed(),c.getGreen(),c.getBlue())); 
headerFont.setColor(xc);

Но каков «правильный» способ сделать это? Большинство методов XSSFColor включают IndexedColorMap, но я не смог найти ни одного примера того, как это можно использовать для установки пользовательских цветов в XSSFWorkbook.

1 Ответ

0 голосов
/ 17 сентября 2018
byte[] rgb = {120, 100, (byte) 200};
headerFont.setColor(new XSSFColor(rgb, new DefaultIndexedColorMap()));
...