在java中读取excel文件时找不到文件错误

时间:2013-04-24 09:36:08

标签: java

当我尝试在java中读取excel文件时出现以下错误,尽管该文件存在。我在Windows环境中。我已确认该文件存在于该位置。

java.io.FileNotFoundException: D:\myfile.xls (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at jxl.Workbook.getWorkbook(Workbook.java:213)

我的代码如下:

       wb = Workbook.getWorkbook(new File("D:/myfile.xls"));

3 个答案:

答案 0 :(得分:2)

试过

   wb = Workbook.getWorkbook(new File("D:\\myfile.xls"));

Al见:File.separator or File.pathSeparator

确保您的文件位于D盘中。

答案 1 :(得分:0)

让我举个例子,代码已经过测试,让我知道这是否有效。

  

文件fileExcel =新文件(“D:/DAVAVALUE.xls”);

     

练习册w;

     

w = Workbook.getWorkbook(fileExcel);     表单= w.getSheet(0);

我测试了这段代码,让我为你捕获了这段代码。

  

/ * *要更改此模板,请选择“工具”|模板*并打开   编辑器中的模板。 * / package stackoverflow;

     

import java.io.File; import jxl.Cell; import jxl.Sheet;进口   jxl.Workbook;

     

/ ** * * @author jwijaya * / public class Stackoverflow {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
    try
                    {

                    File fileExcel = new File("D:/tes.xls");
                    Workbook w;
                    w = Workbook.getWorkbook(fileExcel);
                    Sheet sheet = w.getSheet(0);

                    for (int j = 0; j < sheet.getRows(); j++) {
                        for (int i = 0; i < sheet.getColumns(); i++) {
                            Cell cell = sheet.getCell(i, j);


                                                if((j==0 && i==0 ) || (j==0 && i==1) ||  (j==0 && i==2) || (j==0 && i==3))
                                                {
                                                System.out.println("Isi tabel "
                                                + cell.getContents());
                                                }

                        }
                                                Cell tanggal = sheet.getCell(0,j);
                                                String tanggalfinal = tanggal.getContents(); 
                                                System.out.println(tanggalfinal);

                                                Cell datausd = sheet.getCell(1,j);
                                                String datausdfinal = datausd.getContents(); 
                                                System.out.println(datausdfinal);

                                                Cell datajapan = sheet.getCell(2,j);
                                                String datajapanfinal = datajapan.getContents(); 
                                                System.out.println(datajapanfinal);


                                                Cell dataaus = sheet.getCell(3,j);
                                                String dataausfinal = dataaus.getContents(); 
                                                System.out.println(dataausfinal);



                    }

                    }
                    catch (Exception e)
                    {
                    System.err.println("Got an exception!");
                    System.err.println(e.getMessage());
                    }
} }

下载此文件

https://hotfile.com/dl/204326337/3f04919/tes.xls.html

答案 2 :(得分:0)

如果您事先创建了excel文件,请尝试将其另存为97-2000工作表(所以旧的Excel格式)。