为了账号安全,请及时绑定邮箱和手机立即绑定

在 Selenium 中尝试读取 Excel 时出现空指针异常

在 Selenium 中尝试读取 Excel 时出现空指针异常

倚天杖 2021-12-10 14:38:47
大家好,我搜索了所有解决方案,但找不到。我不知道为什么会出现空指针异常。请帮我解决这个问题。它显示为路径仅错误但我仅正确指定了它。我的代码:package UsingExcel;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import com.sun.rowset.internal.Row;public class Demo {    public void ReadExcel(String filepath,String filename,String Sheetname) throws IOException    {        File file = new File(filepath); // line 21        FileInputStream stream = new FileInputStream(file);        Workbook Mybook = null;        String FileExtensionnname = filename.substring(filename.indexOf("."));        if(FileExtensionnname.equals(".xlsx"))        {            Mybook = new XSSFWorkbook(stream);        }        else if(FileExtensionnname.equals(".xls"))        {            Mybook = new HSSFWorkbook(stream);        }        Sheet filesheet = Mybook.getSheet(Sheetname);        int rowcount = filesheet.getLastRowNum()-filesheet.getFirstRowNum();        for(int i=0;i<rowcount+1;i++)        {            org.apache.poi.ss.usermodel.Row row =filesheet.getRow(i);            for(int j=0;j<row.getLastCellNum();j++)            {                System.out.println(row.getCell(j).getStringCellValue()+ "||");            }            System.out.println();        }    }    public static void main(String[] args) throws IOException    {        Demo excelfile =  new Demo();        String filepath = System.getProperty("E:\\Mybook.xlsx");        excelfile.ReadExcel(filepath, "Mybook.xlsx", "DemoExcel");        }}我的错误是:Exception in thread "main" java.lang.NullPointerException    at java.io.File.<init>(Unknown Source)    at UsingExcel.Demo.ReadExcel(Demo.java:21)    at UsingExcel.Demo.main(Demo.java:61)希望你已经理解我的问题,请解决这个问题。但是当我使用 Excel 测试登录页面时不会出现问题,现在我尝试在控制台上打印它不起作用。
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

你的文件路径应该只是

String filepath = "E:\\Mybook.xlsx",不要用System.getProperty

从文档:

获取指定键指示的系统属性

正在将 null 传递给您的方法ReadExcel(...),因为没有定义为E:\Mybook.xlsx 的System属性


查看完整回答
反对 回复 2021-12-10
  • 1 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信