我正在使用 Apache POI 将数据导出到 .xlsx 文件,并且我想设置文件中包含的一些行和单元格的样式。
我正在使用 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);*,但它没有改变任何东西。
完成我想做的事情的正确方法是什么?我想这样做,所以我不必在创建每个单元格后设置它的样式,因为同一行上的所有单元格都具有相同的样式。