我是selenium WebDriver的初学者。 这是我将数据写入excel表的selenium代码的一部分,但在执行代码时我得到的是NullPointer异常......原因是什么??(excel表处于关闭状态,没有编译时问题)< / p>
代码:
FileInputStream fis=new FileInputStream("C:\\Users\\Desktop\\Book1.xlsx");
Workbook wb=WorkbookFactory.create(fis);
Sheet sh=wb.getSheet("Sheet1");
for(int i=0;i<=20;i++) {
Row row=sh.getRow(i);
for(int m=0;m<=20;m++) {
Cell cell=row.createCell(m);
cell.setCellType(cell.CELL_TYPE_STRING);
cell.setCellValue("good");
FileOutputStream fos=new FileOutputStream("C:\\Users\\Desktop\\Book1.xlsx");
wb.write(fos);
fos.close();
}
}
System.out.println("Excel File Written");
答案 0 :(得分:2)
如果excel完全空白,那么您将获得空指针异常,因此在执行代码之前,请确保至少有一个单元格中有一些数据。
答案 1 :(得分:0)
您在xlsx文件中访问了一行,但是该行可能为null,因此请将getrow替换为createrow:
Row row=null;
for(int i=0;i<=20;i++) {
if(sh.getRow(i) != null) {
row = sh.getRow(i);}
else {
row = sh.createRow(i);
}
}