我正在使用Apache Poi的XSSFWorkbook" 3.10-FINAL"为了阅读.xlsx文件。
使用Office Office' 03和' 13制作的.xslx一切正常,我可以像这样打开.xlsx:
InputStream is = new ByteArrayInputStream(xlsxInByteArray);
XSSFWorkbook wb = new XSSFWorkbook(is);
在 MS Office' 07版本:12.0.6683 SP3 MSO(12.0.6683.5000)中生成一些文件时,XSSFWorkbook的构造函数引发了异常:
org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException:
Package should contain a content type part
还尝试了另一种使用WorkbookFactory
的方法InputStream is = new ByteArrayInputStream(xlsxInByteArray);
Workbook wb = WorkbookFactory.create(is);
打开此文件,我得到另一个例外:
Your InputStream was neither an OLE2 stream, nor an OOXML stream
任何线索?
我可以为您提供有关相关文件的一些信息: 这是Apache Tika的分析=
应用程序名称:Microsoft Excel应用程序 - 版本:12.0000
作者:xxx
内容长度:129536
Content-Type:application / vnd.openxmlformats-officedocument.spreadsheetml.sheet
创作日期:2014-05-15T13:24:43Z
最后作者:xxx
Last-Modified:2016-12-16T14:58:57Z
最后保存日期:2016-12-16T14:58:57Z
X-Parsed-By:org.apache.tika.parser.DefaultParser
X-Parsed-By:org.apache.tika.parser.microsoft.OfficeParser
X-TIKA:摘要:MD5:9b37037534cdaaedf7eb799208aa71e3
X-TIKA:摘要:SHA256:514e82b77ac6ba4c6da37525ca4aec7f7ffc6d5377823d9ae3410e4c6b4f2523
创作者:xxx
日期:2016-12-16T14:58:57Z
dc:creator:xxx dc:publisher:xxx dcterms:created:2014-05-15T13:24:43Z dcterms:modified:2016-12-16T14:58:57Z
extended-properties:AppVersion:12.0000 扩展属性:应用程序:Microsoft Excel 扩展属性:公司:xxx
meta:author:xxx meta:creation-date:2014-05-15T13:24:43Z 元:最后作者:XXX meta:保存日期:2016-12-16T14:58:57Z修改时间:2016-12-16T14:58:57Z protected:true 出版商:xxx resourceName:Office 07.xlsx中的文件
如果我像档案一样打开文件,我会得到这个: file opened in 7zip
注意: 如果我在MS Excel
 13中打开此文件,我可以在没有任何警告或文件问题的情况下阅读。