【发布时间】:2021-08-07 04:44:03
【问题描述】:
将数据写入 excel 文件时出现 nullpointerexception 错误。我收到此错误无法调用“org.apache.poi.ss.usermodel.Cell.setCellValue(String)”,因为“cell3Update”为空。
cell3update 用于 writeSignup 方法。
下面是给定的代码
public class WriteExcel {
public void writeLogin(String result) {
String excelFilePath = System.getProperty("user.dir") + "/resource/TestData.xls";
try {
FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheet = workbook.getSheet("Login");
Cell cell2Update = sheet.getRow(1).getCell(2);
cell2Update.setCellValue(result);
inputStream.close();
FileOutputStream outputStream = new FileOutputStream(
System.getProperty("user.dir") + "/resource/TestData.xls");
workbook.write(outputStream);
workbook.close();
outputStream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void writeSignup(String result) {
String excelFilePath = System.getProperty("user.dir") + "/resource/TestData.xls";
try {
FileInputStream inputStream = new FileInputStream(new File(excelFilePath));
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheet = workbook.getSheet("Signup");
Cell cell3Update = sheet.getRow(1).getCell(6);
cell3Update.setCellValue(result);
inputStream.close();
FileOutputStream outputStream = new FileOutputStream(
System.getProperty("user.dir") + "/resource/TestData.xls");
workbook.write(outputStream);
workbook.close();
outputStream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
writelogin 方法运行良好,但 writeSignup 方法出错。我对两者都使用了几乎相同的代码,但仍然有一个工作正常,一个抛出错误。 请帮我解决这个问题。
【问题讨论】:
-
但是为什么我的 writelogin 方法工作得很好,如果我使用 createrow 那么它会删除我之前在该行中输入的所有数据。
-
writelogin 没有尝试写入单元格(6)...不过最好检查其中的空值。
-
问题是索引 6 处的单元格,而不是行,这只是一个示例。
-
使用 writelogin 方法我也试图在一个空白单元格中写入,它完美地完成了它的工作,同样的情况是这里只有不同的工作表和不同的单元格,我想在特定的单元格中写入数据。 @sorifiend
标签: java selenium selenium-webdriver appium