Apache POI:AWT颜色输入中的索引颜色

时间:2018-11-22 16:17:27

标签: java colors apache-poi awt

我正在尝试在使用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)

1 个答案:

答案 0 :(得分:1)

XSSFWorkbook#createFont返回XSSFFont(Font的实现),并且此XSSFFont类具有setColor(XSSFColor)方法。