我试图让自定义颜色在 Apache POI 中工作,但我遇到了一个小问题。到目前为止,我一直在使用IndexedColors
,但作为调色板,它非常单调。因此,使用 RGB 格式进行颜色选择将帮助我使我的电子表格看起来更好。
我一直在使用这个问题的答案,因为它从理论上解决了我的问题。但是,我面临一个非常愚蠢的问题,我真的不知道如何解决。
我收到的错误是:
CellStyle 类型中的方法 setFillForegroundColor(short) 不适用于参数 (XSSFColor)
这不应该真的发生,因为我已经看到它被用于许多其他关于 Apache POI 的示例和文档中。IDE(Eclipse)建议更改setFillForegroundColor
为setFillBackgroundColor
但这样做,只会使该想法建议反之亦然作为解决方案。我的 IDE 可以是什么小丑...
我Map
为我的风格创建了一个,这可能会以某种方式使所有事情复杂化,但我并不认为这是问题所在。或者可以吗?
我能做些什么来解决这个废话?
代码摘录:
private static Map<String, CellStyle> styling(Workbook wb)
{
Map<String, CellStyle> styles = new HashMap<>();
CellStyle style;
Font font1 = wb.createFont();
font1.setBold(true);
style = createBorderedStyle(wb);
style.setAlignment(HorizontalAlignment.RIGHT);
style.setFont(font1);
style.setFillBackgroundColor(new XSSFColor(new java.awt.Color(255, 255, 0), new DefaultIndexedColorMap()));
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
styles.put("column_headers", style);
return styles;
}
一些视觉喜剧