我想使用 POI 阅读 microsoft word 文档,即 .docx 格式,但出现错误:
The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents
如果有人可以帮助我摆脱这个?
我想使用 POI 阅读 microsoft word 文档,即 .docx 格式,但出现错误:
The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents
如果有人可以帮助我摆脱这个?
您应该阅读从 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));
请查看http://poi.apache.org/spreadsheet/converting.html关于新模型 XSSF 和 HSSF。
不确定您使用的是 POI 中的哪个 API,但我认为您使用的是 HSSF API。相反,您应该使用 XSSF API(有关详细信息,请参阅http://poi.apache.org/spreadsheet/index.html)。例如,而不是使用Workbook wb = new HSSFWorkbook();
useWorkbook wb = new XSSFWorkbook();
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