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