报错: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 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(); } } }