大家好,我搜索了所有解决方案,但找不到。我不知道为什么会出现空指针异常。请帮我解决这个问题。它显示为路径仅错误但我仅正确指定了它。我的代码: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属性
添加回答
举报
0/150
提交
取消