マニュアルでは、HSSFおよびXSSFを使用してカスタム カラーを設定する方法を示しています。私たちのアプリケーションは、両方のフォーマットを扱う必要があります。SSモデルにこだわったカスタムカラーは可能ですか?
短いコードは私の問題を明確にするはずです:
final Workbook wb = new XSSFWorkbook();
final Sheet sheet = wb.createSheet();
final Row row = sheet.createRow(0);
final Cell cell = row.createCell(0);
// apply SS style here:
final CellStyle style = wb.createCellStyle();
// This one is not supported:
// style.setFillForegroundColor(128, 0, 128);
HSSFモデルではカラー パレットを使用しましたが、SS モデルではサポートされていません。このコードは、HSSFColor.GOLD
をカスタム カラーに変更する方法を示しています。
final HSSFPalette palette = ((HSSFWorkbook) workbook).getCustomPalette();
palette.setColorAtIndex(HSSFColor.GOLD.index, (byte) 253, (byte) 205, (byte) 111);
SS モデルでは、IndexColorsが導入されていますが、それらは不変です。