我正在尝试在使用apache POI创建的Excel文件中复制给定java.awt.Color
和java.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)
答案 0 :(得分:1)
XSSFWorkbook#createFont返回XSSFFont(Font的实现),并且此XSSFFont类具有setColor(XSSFColor)方法。