关于 Open XML SDK for Office
Open XML 是可由不同平台上的多个应用程序自由实现的字处理文档、演示文稿和电子表格的开放式标准。 Open XML 旨在如实表示用 Microsoft Office 应用程序定义的二进制格式进行编码的现有字处理文档、演示文稿和电子表格。 使用 Open XML 的原因很简单:现在存在数以亿计的文档,但遗憾的是,这些文档中的信息与创建文档的程序紧密耦合。 Open XML 标准的目的是分离由 Microsoft Office 应用程序创建的文档,以便其他应用程序可以独立于专有格式操作这些文档且不会丢失数据。
注意
有兴趣开发跨多个平台扩展 Office 体验的解决方案吗? 查看新的 Office 外接程序模型。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。
Open XML 包的结构
Open XML 文件存储在 ZIP 存档中以方便打包和压缩。 可以使用 ZIP 查看器来查看任何 Open XML 文件的结构。 一个 Open XML 文档由多个文档部件构成。 这些部件之间的关系自己存储在文档部件中。 ZIP 格式支持随机访问每个部件。 例如,应用程序可以将一张幻灯片从一个演示文稿中移到另一个演示文稿中,而无需分析幻灯片内容。 同样地,应用程序可以删除字处理文档中的所有注释,而不用分析文档的任何内容。
以 XML 标记的形式创建 Open XML 包中的文档部件。 由于 XML 的结构为纯文本,因此您可以使用文本读取器查看文档部件的内容,也可以使用类似 XPath 的进程分析内容。
从结构上来讲,Open XML 文档是开放打包约定 (OPC) 包。 如前面所述,一个包由一组文档部件组成。 每个部件都有一个部件名称,它由一系列段或路径名(如“/word/theme/theme1.xml”)组成。包包含 [Content_Types].xml 部件,可用于确定包中所有文档部件的内容类型。 以 .rels 扩展名结尾的关系部件中包含一组源包或部件的显式关系。
字处理文档通过使用 WordprocessingML 标记进行描述。 有关详细信息,请参阅 使用 WordprocessingML 文档。 一个 WordprocessingML 文档由一组文章组成,其中每篇文章属于下列项之一:
- 主文档(唯一必需的文章)
- 词汇表文档
- 页眉和页脚
- 注释
- 文本框
- 脚注和尾注
演示文稿通过使用 PresentationML 标记进行描述。 有关详细信息,请参阅 使用 PresentationML 文档。 演示文稿包可以包含下列文档部件:
- 幻灯片母版
- 备注母版
- 讲义母版
- 幻灯片版式
- 说明
电子表格工作簿通过使用 SpreadsheetML 标记进行描述。 有关详细信息,请参阅 使用 SpreadsheetML 文档。 工作簿包可以包含:
- 工作簿部件(必需部件)
- 一张或多张工作表
- 图表
- 表
- 自定义 XML
Open XML SDK for Microsoft Office
SDK 支持以下常见任务/方案:
- 强类型类和对象 无需依赖泛型 XML 功能来操作 XML(这要求你了解元素/属性/值拼写以及命名空间),只需通过操作表示元素/attributes/values 的对象,即可使用 Open XML SDK 完成相同的解决方案。 所有架构类型都表示为强类型的公共语言运行时 (CLR) 类,所有属性值都表示为枚举。
- 内容构造、搜索和操作 LINQ 技术直接内置于 SDK 中。 因此,您可以直接对表示 Open XML 元素的对象执行功能构造和 lambda 表达式查询。 此外,SDK 还提供对对象集合(如表和段落)的支持,从而允许您轻松地遍历和操作内容。
- 验证 适用于 Microsoft Office 的 Open XML SDK 提供验证功能,使你能够针对 Open XML 格式的不同变体验证 Open XML 文档。
Open XML SDK for Office
Open XML SDK 提供命名空间和成员来支持 Microsoft Office。 Open XML SDK 还可以读取 ISO/IEC 29500 严格格式化文件。 严格格式是不包括旧功能的过渡格式的子集 - 在理论上,这使得新的实施者更容易提供支持,因为该格式具有较小的技术涉及面。
SDK 支持以下常见任务/方案:
- 支持 Office 预览文件格式 除了适用于 Microsoft Office 类的 Open XML SDK 外,Open XML SDK 还提供了新类,使你能够编写和生成应用程序以操作新 Office 功能的 Open XML 文件扩展名。
-
读取 ISO 严格文档文件 Open XML SDK 可以读取 ISO/IEC 29500 严格格式化文件。 当 Open XML SDK API 打开严格格式化文件时,该文件中的每个 Open XML 部件都会通过将命名空间映射到
https://purl.oclc.org/ooxml/
相应的https://schemas.openxmlformats.org/
命名空间,加载到 Open XML SDK 的 OpenXmlPart 类。 - Open XML SDK for Microsoft Office 的修复 Open XML SDK 包括 Open XML SDK for Microsoft Office 中的已知问题的修复。 这些已知问题包括 PowerPoint 演示文稿中丢失的空白和 Word 文档(其中指定参数被报告为超出有效值范围)中有关自定义 UI 的问题。
有关 Open XML SDK 的这些功能和其他新功能的详细信息,请参阅 Open XML SDK for Office 中的新增功能。