Excel 解决方案

Visual Studio 提供可用于创建 Microsoft Office Excel 的文档级自定义项和 VSTO 外接程序的项目模板。 你可以使用这些解决方案自动化 Excel、扩展 Excel 功能以及自定义 Excel 用户界面 (UI)。 有关文档级自定义项与 VSTO 外接程序之间的差异的详细信息,请参阅办公室解决方案开发概述(VSTO)。

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

注意

有兴趣开发跨多个平台扩展办公室体验的解决方案? 查看新的办公室外接程序模型。 与 VSTO 外接程序和解决方案相比,办公室外接程序的占用空间较小,可以使用几乎任何 Web 编程技术(如 HTML5、JavaScript、CSS3 和 XML)生成它们。

本主题提供了下列信息:

自动化 Excel

Excel 对象模型公开了许多能用于自动化 Excel 的模型。 例如,可以以编程方式创建图表、设置格工作表格式,以及设置范围和单元格的值。 有关详细信息,请参阅 Excel 对象模型概述

当开发 Visual Studio 中的 Excel 解决方案时,还可以使用解决方案中的 主机项主机控件 。 这些是可以扩展 Excel 对象模型中常用对象的对象,例如 WorksheetRange 对象。 扩展的对象行为类似于其所基于的 Excel 对象,但它们可以将其他事件和数据绑定功能添加到对象。 有关详细信息,请参阅 使用扩展对象自动执行 Excel。

为 Excel 开发文档级自定义

Microsoft Office Excel 的文档级自定义项包含与特定工作簿相关联的程序集。 该程序集通常可通过自定义 UI 和自动化 Excel 扩展工作簿。 不同于与 Excel 自身相关联的 VSTO 外接程序,在自定义项中实现的功能仅当相关联的工作簿在 Excel 中打开时才可用。

若要为 Excel 创建文档级自定义项目,请在 Visual Studio 的“新建项目”对话框中使用 Excel 工作簿或 Excel 模板项目模板。 有关详细信息,请参阅“如何:在 Visual Studio 中创建办公室项目。

有关文档级自定义项的工作原理的详细信息,请参阅 文档级自定义项的体系结构。

Excel 自定义编程模型

当创建 Excel 的文档级项目时,Visual Studio 将生成可作为解决方案基础的几个类: ThisWorkbookSheet1Sheet2Sheet3。 这些类表示与你的解决方案关联的工作簿和工作表,并为编写代码提供起点。

有关可在文档级项目中使用的这些生成的类和其他功能的详细信息,请参阅 Program 文档级自定义项。

开发适用于 Excel 的 VSTO 外接程序

Microsoft Office Excel 的 VSTO 外接程序包含由 Excel 加载的程序集。 该程序集通常可通过自定义 UI 和自动化 Excel 扩展 Excel。 与与特定工作簿关联的文档级自定义不同,在 VSTO 外接程序中实现的功能不限于任何单个工作簿。

若要为 Excel 创建 VSTO 外接程序项目,请使用 Visual Studio 的“新建项目”对话框中的 Excel 工作簿或 Excel 模板项目模板。 有关详细信息,请参阅“如何:在 Visual Studio 中创建办公室项目。

有关 VSTO 外接程序工作原理的常规信息,请参阅 Architecture of VSTO Add-ins

Excel 外接程序编程模型

创建 Excel VSTO 外接程序项目时,Visual Studio 将生成一个名为 ThisAddIn的类,这是你的解决方案的基础。 此类提供了编写代码的起点,并且还将 Excel 的对象模型公开到 VSTO 外接程序。

有关可在 VSTO 外接程序中使用的类和其他 Visual Studio 功能的详细信息 ThisAddIn ,请参阅 Program VSTO Add-Ins

自定义 Excel 的用户界面

有几种自定义 Excel 的用户界面的方法。 某些选项适用于所有项目类型,而其他选项仅适用于 VSTO 外接程序或文档级自定义项。

所有项目类型的选项

下表列出了可用于文档级自定义项和 VSTO 外接程序的自定义选项。

Task 详细信息
自定义功能区。 功能区概述
将 Windows 窗体控件或扩展的 Excel 控件添加到文档级自定义项的自定义工作簿中的工作表,或添加到 VSTO 外接程序的任何打开的工作簿中。 如何:将 Windows 窗体控件添加到办公室文档

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

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

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

文档级自定义选项

下表列出了仅适用于文档级自定义项的自定义选项。

任务 详细信息
将操作窗格添加到工作簿。 操作窗格概述

如何:向 Word 文档或 Excel 工作簿添加操作窗格
将映射到 XML 节点的扩展范围控件添加到工作表。 如何:将 XMLMappedRange 控件添加到工作表

适用于 VSTO 外接程序的选项

下表列出了仅适用于 VSTO 外接程序的自定义选项。

Task 更多信息
创建自定义任务窗格。 自定义任务窗格
Title 说明
Excel 对象模型概述 概述由 Excel 对象模型提供的主类型。
使用扩展对象自动执行 Excel 提供有关可在 Excel 解决方案中使用的扩展对象(由 Visual Studio Tools for 办公室 运行时提供)的信息。
Excel 解决方案的全球化和本地化 包含有关 Excel 解决方案的特殊注意事项的信息,Excel 解决方案将在具有适用于 Windows 的非英语设置的计算机上运行。
有关办公室文档的Windows 窗体控件概述 介绍如何将 Windows 窗体控件添加到 Excel 工作表。
演练:为 Excel 创建第一个文档级自定义 演示如何创建 Excel 的基本文档级自定义项。
演练:为 Excel 创建第一个 VSTO 外接程序 演示如何为 Excel 创建基本 VSTO 外接程序。
演练:在 VSTO 外接程序项目中的运行时向工作表添加控件 演示如何使用 VSTO 外接程序在运行时向工作表添加 Windows 窗体按钮、 NamedRangeListObject
了解共同创作和外接程序 介绍可能需要对解决方案进行调整以适应共同创作。
办公室开发中的 Excel 2010 提供有关开发 Excel 解决方案的文章和参考文档的链接。 这些链接并不特定于使用 Visual Studio 的 Office 开发。