如何为多个单元格添加不同的背景颜色

时间:2017-02-14 04:52:08

标签: java apache-poi

我需要为XLS文件的单元格添加不同的背景颜色和边框 这是我的代码

  Row r = sh.createRow(sh.getPhysicalNumberOfRows());
     CellStyle style = wb.createCellStyle();
     style = wb.createCellStyle(r.getPhyscal);
     //region
style.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
    org.apache.poi.ss.usermodel.Cell c = r.createCell(1);
    c.setCellValue((String) jComboBox1.getSelectedItem());


 c.setCellStyle(style);
    //sA   
     style.setFillForegroundColor(IndexedColors.RED.getIndex());
    style.setFillPattern(CellStyle.SOLID_FOREGROUND);
        c = r.createCell(2);
        c.setCellValue((String) jT1.getText() );
  c.setCellStyle(style);

这是我需要的结果

Wanted Excel view

但这是我的结果

Current Excel view

1 个答案:

答案 0 :(得分:1)

您必须为每种颜色创建一个新的CellStyle

CellStyle orangeStyle = wb.createCellStyle(r.getPhyscal);     
orangeStyle.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
orangeStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);

CellStyle redStyle = wb.createCellStyle(r.getPhyscal);
redStyle.setFillForegroundColor(IndexedColors.RED.getIndex());
redStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);

..

并将拟合样式附加到每个受影响的单元格