0
 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);

                  }
4

1 回答 1

1

Excel 电子表格sheet是如何创建的?你是用 Excel 还是 POI 创建的?如果是 POI,你用过setRowStyle吗?

通常,单个单元格是样式化的,而不是整行,所以getRowStyle()会返回null

引用 Javadocs 来自Row#getRowStyle()

返回整行单元格样式。大多数行不会有其中之一,因此将返回 null。首先调用 isFormatted() 进行检查。

您将需要遍历每行中的所有单个单元格,复制CellStylefor each CellCellStyles但请注意,可以为电子表格创建的数量是有限制的。因此,如果您已经创建了一个相同的CellStyle,则重用它。

于 2013-05-01T18:03:43.113 回答