使用apache poi在MsExcel 07中创建.xlsx会导致POIXMLException

时间:2016-12-23 14:41:28

标签: java excel apache apache-poi xlsx

我正在使用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中打开此文件,我可以在没有任何警告或文件问题的情况下阅读。

0 个答案:

没有答案