我使用Apache POI将数据导出到.xlsx文件,并且想要对文件中包含的某些行和单元格进行样式设置。Apache POI,创建新单元格覆盖了行样式
我正在使用XSSF,因为文件将在Excel 2007+中读取。
基本上,我的问题是,我试图设置一个行样式,如下例所示,它为索引0处的整个行设置黑色前景色。它工作正常,但每当我创建一个新单元,新创建的单元格没有样式,就好像它重写了我指定的行样式。
这里的代码片段展示我在做什么:
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("mySheet");
XSSFRow row = sheet.createRow(0);
XSSFCellStyle myStyle = wb.createCellStyle();
myStyle.setFillForegroundColor(new XSSFColor(new Color(255, 255, 255)));
myStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
row.setRowStyle(myStyle); //This works, the whole row is now black
row.createCell(0); // This cell doesn't have a style, the rest of the line stays stylized
row.getCell(0).setCellValue("Test");
我也试过* row.createCell(0,Cell.CELL_TYPE_STRING); *,但它并没有改变任何东西。
完成我想要做的事情的正确方法是什么?我想这样做,所以在创建它之后,我不必设置每个单元格的样式,因为同一行上的所有单元格都具有相同的样式。
尝试调用_row.createCell()_之前_row.setRowStyle(myStyle的); _ –
呀我已经试过了,顺序似乎没有关系 –
_row.setCellValue(“Test”); _给我一个编译时错误检查! –