2013-04-24 6 views
0

파일이 존재하더라도 자바에서 엑셀 파일을 읽으려고하면 다음 오류가 발생합니다. 나는 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")); 
+0

작성한 파일에서 파일 이름과 확장자의 대소 문자가 올바른지 확인하십시오. –

답변

2

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

과 노력 알 그렇게 볼 수 있습니다 : File.separator or File.pathSeparator

이 파일은 D 드라이브에 있는지 확인합니다.

+0

답장을 보내 주셔서 감사합니다. 파일이 D 드라이브에 있고 케이스와 확장이 올바르다는 것을 확신했습니다. 나는 또한 "D : \\ myfile.xls"로 시도했지만 동일한 오류가 발생합니다. – user2314864

+0

이 참조 http://stackoverflow.com/questions/3059383/file-path-windows-format-to-java-format –

+0

내 작업 코드를 제공합니다. 파일이 있는지 확인하십시오. :) –

0

내 사례를 들어 보겠습니다.이 코드는 테스트를 거쳐 이것이 작동하는지 알려주겠습니다.

File fileExcel = new File("D:/DATAVALUE.xls");

Workbook w;

w = Workbook.getWorkbook(fileExcel); Sheet sheet = w.getSheet(0);

이 코드를 테스트하여이 코드를 캡처 해 드리겠습니다. 경우

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package stackoverflow;

import java.io.File; import jxl.Cell; import jxl.Sheet; import 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 
+0

잊지 마세요. 라이브러리를 추가하십시오. JXL –

+0

답장을 보내 주셔서 감사합니다. D 드라이브에 DATAVALUE.xls 파일을 만들었지 만 여전히 같은 오류가 발생합니다. java.io.FileNotFoundException : D : \ DATAVALUE.xls (지정된 파일을 찾을 수 없습니다) \t at java.io.FileInputStream.open 네이티브 메소드) \t (java.io.FileInputStream). (알 수없는 소스) jxl.Workbook.getWorkbook (Workbook.java:213)에서 \t jxl.Workbook.getWorkbook (Workbook.java:198)에서 \t 이것이 사실이라면 – user2314864

+0

이 질문을 받아주십시오, 내 문서를 저장하십시오 그러면 97-2003 통합 문서가 xlsx 형식으로 저장됩니다. 당신이 시도한 후에 –

0

당신은 97-2000 워크 시트 (그래서 이전 Excel 형식)로 저장하려고 사전에 엑셀 파일을 만들었습니다.

관련 문제