The supplied data appears to be in the OLE2 Format. You are calling the part of POI that deals with OOXML (Office Open XML) 是什么原因
时间: 2023-08-16 15:14:49 浏览: 379
这个错误通常是因为你尝试读取的 Word 文档不是 OOXML 格式(.docx),而是 OLE2 格式(.doc)。Apache POI 库中的 `XWPFDocument` 类只能处理 OOXML 格式的文档。
如果你要读取 OLE2 格式的 Word 文档,你可以使用 `HWPFDocument` 类。这是 Apache POI 库中处理旧版 Word 文档的类。以下是一个读取 OLE2 格式文档的示例代码:
```java
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import java.io.FileInputStream;
import java.io.IOException;
public class WordReader {
public static void main(String[] args) {
try {
FileInputStream file = new FileInputStream("path/to/your/doc/file.doc");
HWPFDocument doc = new HWPFDocument(file);
WordExtractor extractor = new WordExtractor(doc);
String text = extractor.getText();
System.out.println(text);
doc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
请注意,在使用 `HWPFDocument` 时,你需要将文档的扩展名更改为 `.doc`,并且使用 `WordExtractor` 来提取文档的内容。
希望这次能够解决你的问题!如果还有其他疑问,请随时问我。
阅读全文