Java 异常org.apache.poi.poifs.filesystem.OfficeXmlFileException-apache.poi 4.0.0
我正在尝试阅读Microsoft Word 2016文档,但我无法Java 异常org.apache.poi.poifs.filesystem.OfficeXmlFileException-apache.poi 4.0.0,java,apache-poi,Java,Apache Poi,我正在尝试阅读Microsoft Word 2016文档,但我无法 private String readDoc(String path) { String content = ""; try { File file = new File(path); FileInputStream fis = new FileInputStream(file.getAbsolutePath()); HWPFDocument doc = new HWPFDocument(fis);
private String readDoc(String path) {
String content = "";
try {
File file = new File(path);
FileInputStream fis = new FileInputStream(file.getAbsolutePath());
HWPFDocument doc = new HWPFDocument(fis);
WordExtractor we = new WordExtractor(doc);
String[] paragraphs = we.getParagraphText();
for (String para : paragraphs) {
content += para.toString();
}
fis.close();
return content;
} catch (Exception e) {
e.printStackTrace();
}
return content;
}
线程“main”org.apache.poi.poifs.filesystem.OfficeXmlFileException中的异常:提供的数据似乎位于Office 2007+XML中。您正在调用POI中处理OLE2 Office文档的部分。您需要调用POI的不同部分来处理此数据(例如XSSF而不是HSSF)
我不明白。。。为什么它会给我这个例外,因为我没有使用任何XSSF(我想)。试试这个:
FileInputStream fis = new FileInputStream("test.docx");
XWPFDocument xdoc = new XWPFDocument(OPCPackage.open(fis));
XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
System.out.println(extractor.getText());
它可以帮助理解这一点:
POIFS(文件系统的模糊处理实现较差)− 此组件
是所有其他POI元素的基本要素。它是用来阅读的
明确地定义不同的文件
HSSF(可怕的电子表格格式)− 它用于读写.xls
MS Excel文件的格式
XSSF(XML电子表格格式)− 它用于的.xlsx文件格式
Excel女士
HPSF(可怕的属性集格式)− 它用于提取属性
MS Office文件集
HWPF(可怕的文字处理器格式)− 它是用来读和写的
.doc MS Word的扩展文件
XWPF(XML字处理器格式)− 它用于读写。docx
MS Word的扩展文件
HSLF(可怕的幻灯片布局格式)− 它用于读取、创建和保存数据
编辑PowerPoint演示文稿
HDGF(可怕的图表格式)− 它包含用于
MS Visio二进制文件
HPBF(可怕的出版商格式)− 它是用来读和写的
MS Publisher文件
试试这个:
FileInputStream fis = new FileInputStream("test.docx");
XWPFDocument xdoc = new XWPFDocument(OPCPackage.open(fis));
XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
System.out.println(extractor.getText());
它可以帮助理解这一点:
POIFS(文件系统的模糊处理实现较差)− 此组件
是所有其他POI元素的基本要素。它是用来阅读的
明确地定义不同的文件
HSSF(可怕的电子表格格式)− 它用于读写.xls
MS Excel文件的格式
XSSF(XML电子表格格式)− 它用于的.xlsx文件格式
Excel女士
HPSF(可怕的属性集格式)− 它用于提取属性
MS Office文件集
HWPF(可怕的文字处理器格式)− 它是用来读和写的
.doc MS Word的扩展文件
XWPF(XML字处理器格式)− 它用于读写。docx
MS Word的扩展文件
HSLF(可怕的幻灯片布局格式)− 它用于读取、创建和保存数据
编辑PowerPoint演示文稿
HDGF(可怕的图表格式)− 它包含用于
MS Visio二进制文件
HPBF(可怕的出版商格式)− 它是用来读和写的
MS Publisher文件