这是我写过的代码。
doc pkg
这是我得到的错误。
提供的数据似乎位于Office 2007+ XML中。你是 调用处理OLE2 Office文档的POI部分。您 需要调用POI的不同部分来处理这些数据(例如XSSF) 而不是HSSF)
问题:我做错了什么?
答案 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