使用apache poi无法从Excel文件中读取

时间:2015-06-30 09:35:57

标签: java excel apache apache-poi

这是我写过的代码。

doc pkg

这是我得到的错误。

  

提供的数据似乎位于Office 2007+ XML中。你是   调用处理OLE2 Office文档的POI部分。您   需要调用POI的不同部分来处理这些数据(例如XSSF)   而不是HSSF)

问题:我做错了什么?

3 个答案:

答案 0 :(得分:3)

正如Rahul所说,您正在使用HSSF部分,该部分用于从旧的Excel中获取信息,即.xls(2007年之前)格式。

Workbook wb = WorkbookFactory.create(new File("/path/to/your/excel/file"));
    Sheet mySheet = wb.getSheetAt(0);
    Iterator<Row> rowIter = mySheet.rowIterator();
    System.out.println(mySheet.getRow(1).getCell(0));

请尝试转换为上述内容,它适用于.xls和.xlsx

答案 1 :(得分:2)

这可能会对您有所帮助: -

file = new File("/yourFile.xlsx");
workBook = WorkbookFactory.create(file);    
sheet  = workBook.getSheetAt(sheetNumber);

答案 2 :(得分:1)

您正尝试使用HSSFWorkbook访问.xlsx文件,您需要使用XSSFWorkbook而不是HSSFWorkbook。使用HSSFWorkbook,我们可以访问.xls文件。

供参考,您可以阅读POI