自定义 XML 部件概述

可以将 XML 数据嵌入某些Microsoft Office 应用程序的文档中。 在文档中嵌入 XML 数据时,数据将命名为 自定义 XML 部件

可以使用 Visual Studio 中的 VSTO 外接程序或文档级解决方案在文档中创建和修改自定义 XML 部件。 无需启动 Microsoft Office 应用程序来创建和修改自定义 XML 部件。

适用于: 本主题中的信息适用于 Excel、PowerPoint 和 Word 的文档级项目和 VSTO 外接程序项目。 有关详细信息,请参阅 Office 应用程序和项目类型提供的功能

注释

Visual Studio 还允许在文档级自定义项中缓存数据对象。 此功能不同于自定义 XML 部件,尽管存在一些相似之处。 有关详细信息,请参阅 文档级自定义项中的缓存数据

了解自定义 XML 部件

自定义 XML 部件是在 2007 Microsoft Office 系统中引入的,以及 Open XML 格式。 这些格式包括 Excel、PowerPoint 和 Word 的新基于 XML 的文件格式(如 .xlsx.pptx.docx)。 这些格式的文档由在 ZIP 存档中的文件夹中组织的 XML 文件(也称为 XML 部件)组成。 大多数 XML 部件都是有助于定义文档结构和状态的内置部件。 但是,文档还可以包含自定义 XML 部件,可用于在文档中存储任意 XML 数据。

XML 文件格式使应用程序能够采用旧二进制文件格式(如 .xls.ppt.doc)无法处理文档。 任何可以读取 ZIP 存档的应用程序都可以检查和修改文档的内容,即使未安装Microsoft Office。

有关 Open XML 和自定义 XML 部件的结构的详细信息,请参阅以下文章:

注释

Excel、Word 和 PowerPoint 还允许您在以二进制文件格式保存的文档中使用自定义 XML 部件。 但是,如果文档以二进制格式保存,则无法在不启动 Microsoft Office 应用程序的情况下添加或修改自定义 XML 部件。

创建和修改自定义 XML 部件

当文档在 Office 应用程序中打开或关闭文档时(即使未安装Microsoft Office),也可以创建或修改自定义 XML 部件。

在 Office 应用程序运行时修改 XML 部件

可以使用文档级自定义或 VSTO 外接程序来处理自定义 XML 部件。 如果使用文档级自定义,通常使用自定义文档中的自定义 XML 部件。 如果使用 VSTO 外接程序,可以在应用程序中打开的任何文档中创建或修改自定义 XML 部件。

若要使用 Visual Studio 创建自定义 XML 部件,请向文档中的CustomXMLPart集合添加新CustomXMLParts内容。 有关详情,请参阅以下主题:

在不启动 Office 应用程序的情况下修改 XML 部件

无需启动 Excel、PowerPoint 或 Word 即可添加或修改自定义 XML 部件。 如果要在未安装Microsoft Office 应用程序(例如服务器)的计算机上处理文档中的 XML 数据,这非常有用。

若要在不启动 Office Microsoft 的情况下添加自定义 XML 部件,请使用 Open XML SDK 中的类。 这些类旨在提供对特定于 Office 文档的 Open XML 内容的访问。 例如,若要将自定义 XML 部件添加到 Excel 工作簿,请使用 AddNewPart 对象的方法 WorkbookPart 。 有关详细信息,请参阅 Open XML SDK

将自定义 XML 部件绑定到 Word 内容控件

可以将 Word 解决方案中的内容控件绑定到自定义 XML 部件中的元素。 当内容控件绑定到自定义 XML 部件时,自定义 XML 部件中的数据将显示在内容控件的用户界面(UI)中。 如果用户编辑控件中的文本,则会自动更新相应的 XML 元素。 同样,如果自定义 XML 部件中的元素值发生更改,绑定到 XML 元素的内容控件将显示新数据。 有关详细信息,请参阅 内容控件