gpt4 book ai didi

java - Apache POI,创建新单元格会覆盖行样式

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:38 24 4
gpt4 key购买 nike

我正在使用 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);*,但它没有改变任何东西。

完成我想做的事情的正确方法是什么?我想这样做,这样我就不必在创建每个单元格后设置它的样式,因为同一行上的所有单元格都具有相同的样式。

最佳答案

也将样式设置到新创建的单元格中,例如下面:

    XSSFCell newCell = row.createCell(0);
newCell.setCellStyle(myStyle);

关于java - Apache POI,创建新单元格会覆盖行样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13151462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com