在手册中,他们展示了如何使用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,但它们是不可变的。