大家好,我搜索了所有解決方案,但找不到。我不知道為什么會(huì)出現(xiàn)空指針異常。請(qǐng)幫我解決這個(gè)問題。它顯示為路徑僅錯(cuò)誤但我僅正確指定了它。我的代碼: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"); }}我的錯(cuò)誤是: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)希望你已經(jīng)理解我的問題,請(qǐng)解決這個(gè)問題。但是當(dāng)我使用 Excel 測(cè)試登錄頁面時(shí)不會(huì)出現(xiàn)問題,現(xiàn)在我嘗試在控制臺(tái)上打印它不起作用。
1 回答

收到一只叮咚
TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
你的文件路徑應(yīng)該只是
String filepath = "E:\\Mybook.xlsx"
,不要用System.getProperty
。
從文檔:
獲取指定鍵指示的系統(tǒng)屬性
正在將 null 傳遞給您的方法ReadExcel(...)
,因?yàn)闆]有定義為E:\Mybook.xlsx 的System屬性
添加回答
舉報(bào)
0/150
提交
取消