设置背景自定义颜色,XSSFWorkbook

时间:2018-11-07 20:47:49

标签: java excel apache

我使用此代码将excel中的字体更改为我定义的颜色

        Color sColor = new Color (value,0,0);
        XSSFColor userColor = new XSSFColor(sColor);

        CellStyle style = wb.createCellStyle();
        XSSFFont font = wb.createFont();

        font.setColor(userColor);
        style.setFont(font);
        cell.setCellStyle(style);

我可以用相同的方式更改单元格的背景吗?

我在这里看到了问题  Setting background custom color not working for XSSF in Apache POI 我使用了代码:

        XSSFCellStyle cellStyle = wb.createCellStyle();
        XSSFColor color = new XSSFColor(new java.awt.Color(value, 0, 0));
        ((XSSFCellStyle)cellStyle).setFillBackgroundColor(color);

        cell.setCellStyle(cellStyle);

背景仍然总是白色。

请确保代码的所有其他部分都正确编写,因为更改字体后它可以正常工作。

我的计算机上装有Office 2010

2 个答案:

答案 0 :(得分:0)

创建单元格样式对象:

CellStyle backgroundStyle = workbook.createCellStyle(); 

设置自定义颜色:

backgroundStyle.setFillForegroundColor(IndexedColors.YELLOW.getIndex());

在单元格中添加样式:

cell.setCellStyle(backgroundStyle);

答案 1 :(得分:0)

感谢所有 我现在找到了解决方法

        XSSFCellStyle cellStyle = wb.createCellStyle();

        XSSFColor color = new XSSFColor(new java.awt.Color(value, 0, 0));

        ((XSSFCellStyle)cellStyle).setFillBackgroundColor(color);
        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
        cellStyle.setFillForegroundColor(color); 
        cell.setCellStyle(cellStyle);