解析docx报错The supplied data appears to be in the OLE2 Format. You are calling the part

在解析docx格式的word文档的时候突然解析报错The supplied data appears to be in the OLE2 Format. You are calling the part

网上怎么搜索查询,查到的都是Excel相关的,根本和我遇到的情况不搭边

一:解析说明

doc格式和docx格式的解析方式是不一样的

doc格式解析
WordExtractor ex = new WordExtractor(file.getInputStream());
String text = ex.getText();
ex.close();
docx格式解析
XWPFDocument document = new XWPFDocument(file.getInputStream());
XWPFWordExtractor extractor = new XWPFWordExtractor(document);
String text = extractor.getText();

二:报错原因

解析到的文件后缀确实是docx,但是该文件因为版本太低或者由doc强行修改过后缀名为docx,此时使用docx的解析就会出现报错

三:解决

目前没发现什么好解决方式,暂时try-cache了异常,如果异常是该异常,重新使用doc解析方式进行解析,如果有好的解决方案可以推荐一下

try{
//解析docx
} catch (Exception e){e.printStackTrace();if (e instanceof OLE2NotOfficeXmlFileException){return readWord(file,".doc");}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部