Apache POI:来自 AWT 颜色输入的索引颜色

Apache POI: Indexed Color from AWT Color input

我正在尝试从使用 apache POI 创建的 Excel 文件中的给定 java.awt.Colorjava.awt.Font 复制字体和颜色。后者有效,但是设置颜色不起作用:虽然我在 Excel 中的字体在使用 IndexedColors.GREEN.getIndex() 直接设置时是绿色的,但使用 java.awt.Color 创建 XSSFColor不起作用(见下面的代码)。我如何在我的 POI 字体中获得(最接近的)IndexedColor 甚至更好地使用 java.awt.Color 的原始值?

当前代码片段:

            Font font = workbook.createFont();
            //font.setColor(IndexedColors.GREEN.getIndex());  //Works
            font.setColor(new XSSFColor(java.awt.Color.GREEN).getIndex()); //Does not work

            font.setFontName(getFont(i,j).getFamily());
            font.setFontHeightInPoints((short)getFont(i,j).getSize());
            font.setItalic(getFont(i,j).isItalic());
            font.setBold(getFont(i,j).isBold());

(Apache POI 3.17)

XSSFWorkbook#createFont returns XSSFFont(字体的一个实现)和这个 XSSFFont class 有一个 setColor(XSSFColor) 方法。