java.io.File读取excel文件时,报错:系统找不到指定的文件的原因!

报错:java.io.FileNotFoundException: D:\map_luce\GIS_Point.xls ( 系统找不到指定的文件。)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at gettingstarted.GetExcelInfo.readExcel(GetExcelInfo.java:23)

    at gettingstarted.GetExcelInfo.main(GetExcelInfo.java:17)

解决问题时遇到以下四个原因:

第一、写了一个相对路径,而系统要求的是绝对路径。详细检查自己的路径是否正确。

第二、检查自己的文件是不是还在指定的路径下;

第三、隐藏了文件的后缀名,这个可以百度一下,显示文件的后缀名;

第四、以上都正确,可是还是找不到,那可能是文件保存的格式不对,比如excel  97-2003的工作簿的后缀名是xls,但是2007的工作薄后缀名是xlsx。这个要小心啊!!!

package gettingstarted;

import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
import java.io.InputStream;  
import jxl.Sheet;  
import jxl.Workbook;  
import jxl.read.biff.BiffException;  

public class GetExcelInfo {  
    public static void main(String[] args) {  
        GetExcelInfo obj = new GetExcelInfo();  
        // 此处为我创建Excel路径:D:/map_luce下  
        File file = new File("D:/map_luce/GIS_Point.xls");  
        obj.readExcel(file);  
    }  
    // 去读Excel的方法readExcel,该方法的入口参数为一个File对象  
    public void readExcel(File file) {  
        try {  
            // 创建输入流,读取Excel  
            InputStream is = new FileInputStream(file.getAbsolutePath());  
            // jxl提供的Workbook类  
            Workbook wb = Workbook.getWorkbook(is);  
            // Excel的页签数量  
            int sheet_size = wb.getNumberOfSheets();  
            for (int index = 0; index < sheet_size; index++) {  
                // 每个页签创建一个Sheet对象  
                Sheet sheet = wb.getSheet(index);  
                // sheet.getRows()返回该页的总行数  
                for (int i = 0; i < sheet.getRows(); i++) {  
                    // sheet.getColumns()返回该页的总列数  
                    for (int j = 0; j < sheet.getColumns(); j++) {  
                        String cellinfo = sheet.getCell(j, i).getContents();  
                        System.out.println(cellinfo);  
                    }  
                }  
            }  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (BiffException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  


猜你喜欢

转载自blog.csdn.net/weixin_41670928/article/details/79791546