将单元格颜色更改为特定的定义颜色

时间:2018-07-08 12:10:38

标签: java excel

我想将单元格的颜色更改为用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)。

任何提示?

1 个答案:

答案 0 :(得分:0)

原因是sColor是您自己定义的,因此没有相关的索引

 font.setColor(userColor.getIndexed());//this line of code will not work

检查 Font 的API,没有使用自定义颜色设置字体的方法,只能使用默认的 IndexedColor

因此您需要在POI升级以支持它之前更改设计

enter image description here