关于 Open XML SDK 2.0 for Microsoft Office
Open XML 是可由不同平台上的多个应用程序自由实现的字处理文档、演示文稿和电子表格的开放式标准。Open XML 旨在如实表示用 Microsoft Office 应用程序定义的二进制格式进行编码的现有字处理文档、演示文稿和电子表格。使用 Open XML 的原因很简单:现在存在数以亿计的文档,但遗憾的是,这些文档中的信息与创建文档的程序紧密耦合。Open XML 标准的目的是分离由 Microsoft Office 应用程序创建的文档,以便其他应用程序可以独立于专有格式操作这些文档且不会丢失数据。
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
SDK 支持以下常见任务/方案:
-
强类型类和对象不再需要依赖一般 XML 功能操作 XML(这需要您了解元素/属性/值拼写以及命名空间),通过使用 Open XML SDK,您只需操作表示元素/属性/值的对象即可实现相同的解决方案。所有架构类型都表示为强类型的公共语言运行时 (CLR) 类,所有属性值都表示为枚举。
-
内容构造、搜索和操作LINQ 技术直接内置到 SDK 中。因此,您可以直接对表示 Open XML 元素的对象执行功能构造和 lambda 表达式查询。此外,SDK 还提供对对象集合(如表和段落)的支持,从而允许您轻松地遍历和操作内容。
-
验证Open XML SDK 2.0 for Microsoft Office 提供验证功能,从而使您能够对照 Open XML 格式的不同验证方式来验证 Open XML 文档。
可以使用 Microsoft .NET Framework® 支持的任何语言形式的 Open XML SDK 中的类。此 SDK 中包含的帮助主题提供使用 Microsoft Visual C#® 和 Microsoft Visual Basic® .NET 的代码示例。
通过使用此 SDK 中的帮助主题内的代码示例作为起点,您可以通过编程方式利用 Open XML 标准。Open XML SDK 在很大程度上减轻了处理开放打包约定文档的复杂性,值得您花时间去研究。
原文链接:http://msdn.microsoft.com/zh-cn/library/bb456487(v=office.14).aspx