gpt4 book ai didi

java - 使用 APACHE POI 打印同一行不同列中的值

转载 作者:行者123 更新时间:2023-12-02 12:06:46 25 4
gpt4 key购买 nike

gradeList 是一个字符串数组列表,其值为“80”、“81”...“85”

     for(int y = 0; y < gradeList.size(); y++){
HSSFRow row1 = worksheet.createRow((short) 1);//1
HSSFCell cell1 =row1.createCell((short) y+1);//2
cell1.setCellValue("" + gradeList.get(y));//3
HSSFCellStyle cellStylei = workbook.createCellStyle();//4
cellStylei.setFillForegroundColor(HSSFColor.GREEN.index);
cell1.setCellStyle(cellStylei);//6
}

代码输出:_, _, _, _, _, 85。预期输出:80, 81, 82, 83, 84, 85。

将代码更改为

    HSSFRow row1 = worksheet.createRow((short) 1);//1
HSSFCell cell1;
for(int y = 0; y < gradeList.size(); y++){

cell1 = row1.createCell((short) y+1);//2
cell1.setCellValue("" + gradeList.get(y));//3

}
HSSFCellStyle cellStylei = workbook.createCellStyle();//4
cellStylei.setFillForegroundColor(HSSFColor.GREEN.index);//5

代码按预期打印 80、81、82、83、84 和 85,但使用前面的六行代码,它只打印 85。有人可以向我解释一下为什么第一个错误或不起作用,如果可能的话您还可以解释一下第 4,5 和 6 行的作用吗?

最佳答案

问题是,在您的第一个代码第 1 行中,您为每个 gradeList 元素创建相同的行,因此您将覆盖为元素 80 创建的行,并使用使用元素 81 等,因为你只有最后一个。

如果您修改第一个代码并为每个 gradeList 元素创建不同的行,您可以看到所有值都已添加,例如:

HSSFRow row1 = sheet.createRow((short) y +1);//1

在第 4 行中,您将创建要应用于单元格的样式:

HSSFCellStyle cellStylei = workbook.createCellStyle();//4

在第 5 行中,您将前景填充颜色添加为绿色

cellStylei.setFillForegroundColor(HSSFColor.GREEN.index);//5

在第 6 行中,您将样式添加到单元格

cell1.setCellStyle(cellStylei);//6

您可以在关注 link 中找到有关不同样式的更多信息。以及 Official poi doc 中的一些示例

希望这可以帮助你。

谢谢

关于java - 使用 APACHE POI 打印同一行不同列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46851828/

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