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

大家好,我搜索了所有解决方案,但找不到。我不知道为什么会出现空指针异常。请帮我解决这个问题。它显示为路径仅错误但我仅正确指定了它。


我的代码:


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 测试登录页面时不会出现问题,现在我尝试在控制台上打印它不起作用。


倚天杖
浏览 168回答 1
1回答

收到一只叮咚

你的文件路径应该只是String filepath = "E:\\Mybook.xlsx",不要用System.getProperty。从文档:获取指定键指示的系统属性正在将 null 传递给您的方法ReadExcel(...),因为没有定义为E:\Mybook.xlsx 的System属性
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java