我最近继承了一些遗留代码,让您了解我对这个主题的熟悉程度。
我有一个 C# 应用程序,它通过构建包含必要 XML 文件的 zip 包来创建 Excel 电子表格 (.xlsx)。应用程序手动创建 [Content_Types].xml 文件,并使用 Visual J# 压缩包。我试图通过使用 System.IO.Packaging.ZipPackage 摆脱我们对 Visual J# 的依赖。
我可以正确地构建包含所有必要文件的 zip 包。当我添加包部分时,我设置了它们的内容类型字符串,这反映在 [Content_Types].xml 中。但是,[Content_Types].xml 缺少一些必要的条目,Excel 将其解释为损坏的文件。
例如,在正确的内容类型文件中,有一个名为“rels”的默认条目:
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
在我的 zip 包中,rels 条目的 ContentType 属性有一个空字符串。由于 rels 不是包中的一部分,我不知道如何设置它的 ContentType。有没有办法手动做到这一点?