gpt4 book ai didi

java - SetCellValue 不适用于第一行 java

转载 作者:行者123 更新时间:2023-12-02 01:17:13 35 4
gpt4 key购买 nike

我正在使用 apache poi 将数据写入 Excel 文件。当我将值传递到第一行的列(用于标题)时,其值不会更新,但从第 2 行开始,我可以看到 Excel 文件中的数据。下面是我正在使用的代码。

    public static void writeWorkBook(Map<String, List<String>> addressMap, List<String> userList) {
System.out.println("Writing Process Started ");
XSSFWorkbook workbook = new XSSFWorkbook();

for (String user : userList) {
XSSFSheet sheet = workbook.createSheet("Data_" + user);
int rownum = 1;
Row row = sheet.createRow(rownum);
Cell cell = row.createCell(0);
cell.setCellValue("User");

cell = row.createCell(1);
cell.setCellValue("Address");

List<String> addressList = addressMap.get(user);
for (String s : addressList) {
row = sheet.createRow(rownum++);
cell = row.createCell(0);
cell.setCellValue(user);
cell = row.createCell(1);
cell.setCellValue(s);
}
}

try {

FileOutputStream out = new FileOutputStream(new File("D://practice/java/testWrite.xlsx"));
workbook.write(out);
out.close();
System.out.println("testWrite.xlsx written successfully on disk.");
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}

我得到的输出是 enter image description here

最佳答案

第一:所有索引都是从 0 开始的。所以

...
int rownum = 1;
Row row = sheet.createRow(rownum);
...

创建第二行。第一行是

...
int rownum = 0;
Row row = sheet.createRow(rownum);
...

第二:在row =sheet.createRow(rownum++);中,首先创建行,然后rownum递增。因此,将再次创建第一行,而不是第二行。

...
row = sheet.createRow(++rownum);
...

相反。

关于java - SetCellValue 不适用于第一行 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58363048/

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