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);
}
答案 0 :(得分:1)
如何创建sheet
来自Excel电子表格?您是在Excel或POI中创建的吗?如果是POI,您使用的是setRowStyle
吗?
通常,单个单元格是样式的,而不是整行,因此getRowStyle()
将返回null
。
从Row#getRowStyle()
引用Javadoc:
返回整行单元格样式。大多数行不会有这些行, 所以会返回null。首先调用isFormatted()进行检查。
您需要遍历每行中的所有单个单元格,并为每个CellStyle
复制Cell
。但请注意,可以为电子表格创建CellStyles
的数量有限制。因此,如果您已经创建了相同的CellStyle
,那么请重复使用它。