2014-11-03 69 views
0

我嘗試讀取這個excel文件:Test.xlsx,要做到這一點,我用我在互聯網上發現了一個例子,但在Java讀取Excel中,變量是空

我用這個鏈接,因爲en例如: http://howtodoinjava.com/2013/06/19/readingwriting-excel-files-in-java-poi-tutorial/

它沒有工作。 我複製了該文件的網址,因此沒有錯誤。 每當我運行它,它只是顯示錯誤:[] 當我調試它時,它顯示我listize = 0

我應該改變什麼?

ArrayList<String> list = new ArrayList<String>(); 


    @Override 

    public List<String> getExcel(){ 

    try { 
     FileInputStream file = new FileInputStream(new File("C:\\Users\\user\\Documents\\Test.xlsx")); 


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

     //Get first/desired sheet from the workbook 
     HSSFSheet sheet = workbook.getSheet("Sheet1"); 

     //Iterate through each rows one by one 
     Iterator<Row> rowIterator = sheet.iterator(); 


     while (rowIterator.hasNext()) { 
      Row row = rowIterator.next(); 
      //For each row, iterate through all the columns 

      if (row.getRowNum() <= 7) { 
      continue;// skip to read the first 7 row of file 
      } 


      Iterator<Cell> cellIterator = row.cellIterator(); 

      while (cellIterator.hasNext()) { 
       Cell cell = cellIterator.next(); 
       list.add(cell.getStringCellValue()); 
      } 
      //System.out.println(""); 
     } 
     file.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return list; 


} 
+0

這將有助於展示一些示例XML :) – tnw 2014-11-03 19:01:07

+0

哪一個你需要?獲得了網絡和項目XML。 – 2014-11-03 19:04:29

回答

0

對正在嘗試打開的文件(Test.xlsx)使用錯誤的類。通過擴展,我可以假設這是一個Excel 2007或更高版本的文檔。適用於Excel 2007或更高版本的Excel 2003和XSSFWorkbook使用HSSFWorkbook。查看下載的軟件包隨附的Apache POI文檔。它包含有關如何完成此操作的基本教程。

您將需要替換'XSSF'等價物的所有'HSSF'類。請注意,創建文檔部分(即工作簿,工作表等)的方法並不總是相同的。

試試這個link。我在一段時間後創建了一個關於Apache POI的簡單教程的小演示。有一個你可以遵循的Excel例子。該位置包含源代碼和一組幻燈片,您應該可以輕鬆地進行操作。

+0

thx爲答案,我會看看 – 2014-11-03 19:13:21

+0

@ Mr.Mathy我剛剛更新了答案,並鏈接到我幾年前寫的教程。有一些幻燈片和我放在Google驅動器上的一些源代碼,任何人都可以訪問該鏈接。如果您無法訪問,請告訴我。應該有一個Word教程和一個Excel教程。 – hfontanez 2014-11-03 19:21:56

+0

我現在想出來,我希望:)非常感謝你的幫助 – 2014-11-03 19:30:50