【发布时间】:2019-02-05 16:32:59
【问题描述】:
我有一个第三方库,可以创建 xlsx 文件。它不使用 OpenXmlSDK,它结合了 xml 标记片段中的文件。对于压缩,使用了ZipArchive 类。 但是当我尝试使用OpenXmlSDK
var document = SpreadsheetDocument.Open(fileStream, false);
失败并出现错误:
DocumentFormat.OpenXml.Packaging.OpenXmlPackageException: '指定的包无效。缺少主要部分。'
MS Excel 正常打开此文件。从 Excel 中重新保存会有所帮助。
我也解压缩文件,然后再次压缩它们(不做任何更改),尝试再次调用上面的代码,它可以工作。
问题出在哪里?如何为 OpenXmlSDK 压缩 xlsx 文件?
解决方案
问题在于第三方库保存文件。包含到 zip 中的文件的条目名称为 \ 而不是 /。该库的代码已被编辑以解决该问题,一切正常。
【问题讨论】:
标签: c# openxml-sdk