Java- Apache POI XSSF - 自定义 RGB Cellbackground 不工作

Java- Apache POI XSSF - Custom RGB Cellbackground not working

我想为我的单元格背景颜色使用自定义 RGB 颜色 (38,38,38)。 为此,我使用此代码:

IndexedColorMap colorMap = wb.getStylesSource().getIndexedColors(); 
XSSFColor customtablegrey = new XSSFColor(new java.awt.Color(38,38,38), colorMap);
cellFormat1.setFillForegroundColor(customtablegrey.getIndex());
cellFormat1.setFillPattern(FillPatternType.SOLID_FOREGROUND);

但我得到的只是黑色背景。为什么以及如何更改它?

此致,

基督教徒

没错。 IndexedColorMapXSSFColor 没有用。 XSSFColors 不是索引颜色。在 Office Open XML 中,自定义颜色直接作为 RGB 存储在 XML 中。它们不存储在任何类型的颜色图中。

仅使用 XSSFCellStyle.setFillForegroundColor(XSSFColor color) 即可将 XSSFColors 设置为单元格样式的填充前景色。不能使用 CellStyle.setFillForegroundColor(short fg).

设置

所以 cellFormat1.setFillForegroundColor(customtablegrey) 应该在 cellFormat1XSSFCellStyle 时工作。

显示了如何使用 XSSFColor 作为单元格填充颜色的完整示例。刚刚也使用 apache poi 5.1.0 进行了测试。

显示了另一个完整示例。也使用 apache poi 5.1.0 进行了测试和工作。