gpt4 book ai didi

java - 我的脚本没有在最后一个填充行之后创建新行

转载 作者:行者123 更新时间:2023-12-01 21:59:15 24 4
gpt4 key购买 nike

意外地发生了一些变化,现在我的脚本正在重写行,而不是在最后填充的行之后创建新行。

因此,当我第一次运行脚本时,它会在 4 行中填充数据,下次运行时,它应该从第 5 行添加数据,但该脚本不是删除旧的 4 行数据并将新数据放在那里.

代码:

for(int i=1;i<6;i++)
{

Row newrow = sheet.createRow(rowcount+1);
Cell cell = newrow.createCell(cellcount);

// newrow = sheet.getRow(rowcount);

if(!data[i].equals("") || data[i].equals(null))
{

if (cell == null && cell.getCellType() == Cell.CELL_TYPE_BLANK)
{
row = sheet.createRow(rowcount);
cell.setCellValue(data[i]);
rowcount++;
}

}
}

}catch(Exception E)
{
E.printStackTrace();

}

我正在使用 Selenium Webdriver、POI 在 Excel 中写入数据。所有数据都正确存储在数组中,但未写入新行。

当我调试时,它从 if (cell == null && cell.getCellType() == Cell.CELL_TYPE_BLANK) 返回到主 for 循环,实际上它应该在上次填充后创建新行行。

最佳答案

我如何理解这个问题

我不知道我是否正确理解了你的问题。

将数据添加到最后一行

所以您想要做的是将数组中的数据添加到 Excel 工作表中。但您希望将数据添加到 Excel 工作表末尾的新行中吗?

如果是这样,您也许应该看看方法 sheet.getLastRowNum() .

仅添加有效数据

您还尝试验证您的数据。

在您的代码中,仅当数据是非空字符串或空值时,数据才会添加到单元格中。不知道这是否是你想要做的?也许这是一个拼写错误,您忘记了 data[i].equals(null) 前面的 !

新单元格的空检查

首先,创建一个新单元格,然后检查它是否为空。为什么?新创建的单元格不应为空。
我认为,您更想确保单元格不为空(cell != null),但正如我所说,情况不应该如此。所以这个空检查是多余的。

如果您使用了方法 row.getCell(int),您可能需要进行 null 检查因为这里返回的单元格可能为空。

此外,类型检查也是不必要的,因为新创建的单元格每次都是 Cell.CELL_TYPE_BLANK 类型。

(文档:row.createCell(int))

<小时/>

也许是一个解决方案

希望我的代码对您有帮助!欢迎询问。

for (int i = 0; i < 6; i++) {
if (data[i] == null || data[i].equals("")) {
continue; // Skip if data is unusable
}

final Row newRow = sheet.createRow(++rowCount); // Row indices are 0-based!
final Cell cell = newRow.createCell(aColumnNumber); // Also column indices are 0-based!

cell.setCellValue(data[i]);
}

关于java - 我的脚本没有在最后一个填充行之后创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33875286/

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