为Office Open XML包's [Content_Types]. XML中的默认条目设置ContentT

本文关键字:XML Types 默认 ContentT 设置 Content Open Office | 更新日期: 2023-09-27 17:50:38

我最近继承了一些遗留代码,让您了解我对这个主题的熟悉程度。

我有一个c#应用程序,它通过构造包含必要XML文件的zip包来创建一个Excel电子表格(.xlsx)。应用程序手动创建[Content_Types].xml文件,并使用Visual j#压缩包。我正试图通过使用system . io . package . zipppackage来摆脱我们对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。有办法手动做到这一点吗?

为Office Open XML包's [Content_Types]. XML中的默认条目设置ContentT

在创建部件"xl/_rels/workbook.xml "时。和"xl/worksheets/_rels/datatable.xml"。在Excel文档的ZipPackage中,将它们的ContentType字符串设置为"application/vnd.openxmlformats-package.relationships+xml"。

根据ISO/IEC 29500-2附录f,设置关系部分的内容类型。