2017-01-10 194 views
-1

我無法從預先存在的Excel文件中讀取數據。從Java中預先存在的Excel文件讀取數據

文件名的一個例子是「捐助者姓氏 - 週四12月15日40年8月20日PST 2016.xls」

這是我的方法是什麼樣子:

public void addDonorsFF() throws IOException 
{ 
    JTextField a = new JTextField(20); 
    Object[] message = {"Enter File Name:", a, "\nIt is best to directly copy paste the file name, including .xls \nYou cannot import Shipping files."}; 
    int option = JOptionPane.showConfirmDialog(null, message, "Select File", JOptionPane.OK_CANCEL_OPTION); 
    if (option == JOptionPane.OK_OPTION) 
    { 
     String fileName = (String)a.getText(); 
     FileInputStream file = new FileInputStream(new File(fileName)); 

     //Create Workbook instance holding reference to .xls file 
     HSSFWorkbook workbook = new HSSFWorkbook(file); 

     //Get sheet from the workbook 
     HSSFSheet sheet = workbook.getSheetAt(0); 

     for(int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) 
     { 
      Row row = sheet.getRow(i); 

      for(int j = 0; j < row.getPhysicalNumberOfCells(); j++) 
      { 
       Cell cell = row.getCell(j); 

       //Some code that uses the data in the cell and puts it in a "donor" object; 
      } 
     } 
     workbook.close(); 


    } 
} 

我知道該文件存在肯定的,但是當我運行程序我得到這個錯誤:

Exception in thread "main" java.io.FileNotFoundException: Donors By Last Name - Thu Dec 15 08/20/40 PST 2016.xls (No such file or directory)

at java.io.FileInputStream.open0(Native Method)

at java.io.FileInputStream.open(FileInputStream.java:195)

at java.io.FileInputStream.(FileInputStream.java:138)

at Directory.addDonorsFF(Directory.java:115)

at Driver.main(Driver.java:24)

我希望有簡單的東西,這只是在看我的頭,因爲我是一個初學者。你有什麼建議嗎?

+0

該文件位於何處? – RamPrakash

+0

我的桌面@RamPrakash – kitkat

+0

你的文件名包含空格嗎? –

回答

0

你說你的文件在你的桌面上,但你沒有完全限定你的文件名中打開該文件。這應該是「C:\ users \ myname \ desktop \ Donors ...」(如果是Windows)。

您輸入文件名的方式,它只會在文件的當前文件夾中運行應用程序。

相關問題