使用扩展对象实现 Excel 自动化

当您在 Visual Studio 中开发 Excel 解决方案,可以在解决方案中使用 宿主项 和 宿主控件。这些对象可扩展 Excel 对象模型(即 Excel 的主互操作程序集公开的对象模型)中的某些常用对象,如: Microsoft.Office.Interop.Excel.WorksheetMicrosoft.Office.Interop.Excel.Range 对象。扩展对象的行为类似于它们所基于的 Excel 对象,但它们会为这些对象添加诸如新事件和数据绑定功能之类的其他功能。

**适用于:**本主题中的信息适用于 Excel 2013 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

应用程序级外接程序和文档级自定义项中都提供了宿主项和宿主控件,尽管可用于它们的上下文在每种类型的解决方案中各不相同。有关更多信息,请参见宿主项和宿主控件概述

Excel 宿主项

通过 Excel 项目可访问多个宿主项:

  • Worksheet.此宿主项表示项目中的工作表。此外,宿主项还充当托管控件(包括宿主控件和 Windows 窗体控件)的容器,并在其图面上维护有关这些控件的信息。有关更多信息,请参见工作表宿主项

  • Workbook.此宿主项表示项目中的工作簿,并且充当工作簿中所有工作表共享的组件的容器。有关更多信息,请参见工作簿宿主项

  • ChartSheet.此宿主项仅包含一个图表和显示操作 Excel 中的工作表。

    在设计时将图表工作表作为新工作表添加到 Microsoft Office Excel 文档级自定义项项目时,Visual Studio 会自动创建一个 ChartSheet 宿主项。

    尽管 ChartSheet 宿主项是 Excel 中的工作表,但不能向图表工作表添加任何控件。如果希望在带有图表的工作表中具有其他控件,请勿使用图表工作表。可以改为通过使用 Chart 宿主控件将图表作为嵌入对象放置到工作表中。有关更多信息,请参见Chart 控件

Excel 宿主控件

Excel 提供了许多宿主控件来帮助您创建、组织和自动处理工作簿和工作表。这些宿主控件提供了它们在 Excel 本机对象模型中的对应项所没有的事件和数据绑定功能。

有关可在 Excel 项目中使用的宿主控件的更多信息,请参见以下主题:

请参见

任务

如何:用数据填充 ListObject 控件

如何:向工作表添加 Chart 控件

如何:向工作表添加 ListObject 控件

如何:向工作表添加 NamedRange 控件

如何:向工作表添加 XMLMappedRange 控件

如何:调整 NamedRange 控件的大小

如何:调整 ListObject 控件的大小

如何:在向 ListObject 控件添加新行时验证数据

如何:将 ListObject 列映射到数据

演练:根据 NamedRange 控件的事件进行编程

概念

在运行时在应用程序级外接程序中扩展 Word 文档和 Excel 工作簿

在运行时向 Office 文档添加控件

宿主项和宿主控件概述

宿主项和宿主控件的编程限制

其他资源

Office 文档上的控件