POI,颜色排不起作用

时间:2013-05-01 17:52:55

标签: java apache colors row apache-poi

 shouldn't this be working? fac is the uncolored workbook and facsheet is its uncolored sheet

工作表是彩色工作表,我试图从工作簿中获取颜色并将其设置为另一个工作簿

for(int i=2;rowIterator.hasNext();i++){
                      CellStyle style=fac.createCellStyle();
                      style.setFillForegroundColor(sheet.getRow(i).getRowStyle().getFillForegroundColor());
                      style.setFillBackgroundColor(sheet.getRow(i).getRowStyle().getFillBackgroundColor());
               facsheet.getRow(i).setRowStyle(style);

                  }

1 个答案:

答案 0 :(得分:1)

如何创建sheet来自Excel电子表格?您是在Excel或POI中创建的吗?如果是POI,您使用的是setRowStyle吗?

通常,单个单元格是样式的,而不是整行,因此getRowStyle()将返回null

Row#getRowStyle()引用Javadoc:

  

返回整行单元格样式。大多数行不会有这些行,   所以会返回null。首先调用isFormatted()进行检查。

您需要遍历每行中的所有单个单元格,并为每个CellStyle复制Cell。但请注意,可以为电子表格创建CellStyles的数量有限制。因此,如果您已经创建了相同的CellStyle,那么请重复使用它。