3

我想使用 POI 阅读 microsoft word 文档,即 .docx 格式,但出现错误:

The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents

如果有人可以帮助我摆脱这个?

4

4 回答 4

3

您应该阅读从 HSSF 转换为通用 SS 用户模型页面,以帮助您了解需要更改的内容。

不过,作为一般指南,如果您的代码以前是

 HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream("foo.xls"));
 HSSFSheet s = wb.getSheetAt(0);
 HSSFRow r = s.getRow(0);
 System.out.println("Cell A1 is " + r.getCell(0));

它应该改为

 Workbook wb = WorkbookFactory.create(new File("foo.xls")); // Or foo.xlsx
 Sheet s = wb.getSheetAt(0);
 Row r = s.getRow(0);
 System.out.println("Cell A1 is " + r.getCell(0));
于 2012-08-03T08:33:43.463 回答
2

请查看http://poi.apache.org/spreadsheet/converting.html关于新模型 XSSF 和 HSSF。

于 2012-08-03T07:11:49.923 回答
0

不确定您使用的是 POI 中的哪个 API,但我认为您使用的是 HSSF API。相反,您应该使用 XSSF API(有关详细信息,请参阅http://poi.apache.org/spreadsheet/index.html)。例如,而不是使用Workbook wb = new HSSFWorkbook();useWorkbook wb = new XSSFWorkbook();

于 2012-08-03T07:13:54.090 回答
0

HSSF workbook will not work for higher version of excel file instead of HSSFWorkbook use XXSFWOrkbook.You can have the complete code in the below link

http://aravind-soa.blogspot.com/2017/02/how-to-import-excel-file-into-oracle.html

于 2017-02-06T12:58:56.147 回答