我想将单元格的颜色更改为用java.awt.Color [r = 255,g = 255,b = 255]定义的颜色 我使用了代码:
Color sColor = new Color (200,0,0);
XSSFColor userColor = new XSSFColor(sColor);
try {
CellStyle style = wb.createCellStyle();
Font font = wb.createFont();
font.setColor(userColor.getIndexed());
style.setFont(font);
cell.setCellStyle(style);
} catch (NumberFormatException | NullPointerException ex) {
//Handle NumberFormat and NullPointer exceptions here
}
颜色始终保持黑色。
以及“ System.out.print(userColor);”的输出是: (org.apache.poi.xssf.usermodel.XSSFColor@2e1b928)。 实际上,它会根据我在“ new Color(200,0,0);”中输入的值而改变。
但输出“ System.out.print(userColor.getIndexed());”始终为:(0)。
任何提示?
答案 0 :(得分:0)
原因是sColor
是您自己定义的,因此没有相关的索引
font.setColor(userColor.getIndexed());//this line of code will not work
检查 Font 的API,没有使用自定义颜色设置字体的方法,只能使用默认的 IndexedColor
因此您需要在POI升级以支持它之前更改设计