【问题标题】:Setting foreground color for HSSFCellStyle is always coming out black为 HSSFCellStyle 设置前景色总是黑色
【发布时间】:2020-06-25 12:04:39
【问题描述】:

我正在使用 POI 在 Java 中创建 Excel 电子表格。我有以下代码用于创建标题行:

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Report");

// some more code

HSSFRow row = sheet.createRow(0);

HSSFCell cell = row.createCell(cellNumber);
HSSFCellStyle cellStyle = wb.createCellStyle();

cellStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font.setColor(HSSFColor.WHITE.index);

cellStyle.setFont(font);
cell.setCellStyle(cellStyle);

我遇到的问题是在单元格上设置填充背景颜色总是黑色,无论我选择什么颜色。我究竟做错了什么?如果我不使用“setFillPattern”行,则根本不会显示任何颜色。

【问题讨论】:

    标签: java apache-poi poi-hssf


    【解决方案1】:

    我得到了这个工作。我必须设置前景色才能使背景色起作用 (??)。

    所以我改变了:

    cellStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index);
    

    到:

    cellStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
    

    它成功了!

    【讨论】:

    【解决方案2】:

    如果要设置前景色,请使用

    cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
    

    如果要设置背景颜色,请使用

    style.setFillPattern(FillPatternType.THICK_BACKWARD_DIAG);
    

    style.setFillPattern(FillPatternType.THIN_BACKWARD_DIAG);
    

    如果您在背景填充图案之前设置前景填充图案,则前景和背景颜色似乎“堆叠”(红色 + 蓝色 = 紫色),但反之则不然。您可以选择其他几种填充模式。请注意,如果您不更改默认填充图案,则不会应用颜色。

    CellStyle.SOLID_FOREGROUND 在 3.15+ 版本中已弃用。请改用FillPatternType.SOLID_FOREGROUND

    【讨论】:

    • 关于style.setFillForegroundColor( IndexedColors.GREY_25_PERCENT.getIndex() ); style.setFillPattern( FillPatternType.SOLID_FOREGROUND ); 的一个很好的解释对我有帮助,谢谢+1):-
    【解决方案3】:

    csHeader.setFillForegroundColor(HSSFColor.SKY_BLUE.index); csHeader.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);

    【讨论】:

      猜你喜欢
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-06
      • 2021-04-18
      • 2014-01-30
      • 1970-01-01
      • 2014-10-20
      相关资源
      最近更新 更多