2014-11-03 43 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