Excel 加载项概述
Excel 加载项允许跨多个平台(包括 Windows、Mac、iPad 和浏览器中)扩展 Excel 应用程序功能。 在工作簿内使用 Excel 加载项,可以:
- 与 Excel 对象交互、读取和写入 Excel 数据。
- 使用基于 Web 的任务窗格或内容窗格扩展功能
- 添加自定义功能区按钮或上下文菜单项
- 添加自定义函数
- 使用对话框窗口提供更丰富的交互
Office 加载项平台提供框架和 Office.js JavaScript API,使你能够创建和运行 Excel 加载项。通过使用 Office 加载项平台创建 Excel 加载项,可以获得以下好处。
- 跨平台支持:Excel 加载项在 Office 网页版、Windows 版 Office、Mac 版 Office 和 iPad 版 Office中运行。
- 集中式部署:管理员可以在整个组织内为用户快速而轻松地部署 Excel 加载项。
- 使用标准 Web 技术:使用熟悉的 Web 技术(如 HTML、CSS 和 JavaScript)创建 Excel 加载项。
- 通过 AppSource 分发:将 Excel 加载项发布到 AppSource,供广大受众使用。
注意
Excel 加载项不同于 COM 和 VSTO 加载项,后者是早期仅在 Windows 上的 Office 中运行的 Office 集成解决方案。 与 COM 加载项不同,Excel 加载项不需要在用户的设备上或在 Excel 中安装任何代码。
Excel 加载项的组件
Excel 加载项包括两个基本组件:Web 应用程序和称为“清单文件”的配置文件。
Web 应用程序使用 Office JavaScript API 与 Excel 中的对象进行交互,还可以促进与联机资源的交互。 例如,加载项可以执行以下任一任务。
- 创建、读取、更新和删除工作簿中的数据(工作表、区域、表、图表、已命名项等)。
- 使用标准 OAuth 2.0 流通过在线服务执行用户身份验证。
- 向 Microsoft Graph 或任何其他 API 发出 API 请求。
Web 应用程序可以托管在任何 Web 服务器上,并且可以使用客户端框架(如 Angular、React、jQuery)或服务器端技术(如 ASP.NET、Node.js、PHP)进行构建。
清单是一个配置文件,它通过指定设置和功能来定义外接程序如何与 Office 客户端集成,例如:
- 加载项 Web 应用程序的 URL。
- 加载项的显示名称、说明、ID、版本和默认区域设置。
- 如何将加载项与 Excel 集成,其中包括加载项创建的任何自定义 UI(功能区按钮、上下文菜单等)。
- 加载项所需的权限,如对文档执行读取和写入操作。
若要让最终用户能够安装和使用 Excel 加载项,必须将它的清单发布到 AppSource 或加载项目录。 要详细了解如何发布到 AppSource,请参阅将解决方案发布到 AppSource 和 Office 中。
Excel 加载项的功能
除了能够与工作簿内容进行交互外,Excel 加载项还可以添加自定义功能区按钮或菜单命令、插入任务窗格、添加自定义函数、打开对话框,甚至还能在工作表中嵌入基于 Web 的丰富对象(如图表或交互式可视化效果)。
加载项命令
加载项命令是 UI 元素,可扩展 Excel UI,并在加载项中启动操作。 加载项命令可用于在功能区中添加按钮,也可用于向 Excel 上下文菜单中添加项。 选择加载项命令后,用户便启动操作,如运行 JavaScript 代码,或在任务窗格中显示加载项页面。
有关命令功能、受支持的平台和开发加载项命令第最佳做法的详细信息,请参阅适用于 Excel、Word 和 Powerpoint 的加载项命令。
任务窗格
任务窗格作为界面图面,通常出现在 Excel 内的窗口右侧。 使用任务窗格,用户可以访问接口控件,以运行代码来修改 Excel 文档,或显示数据源中的数据。
有关任务窗格的详细信息,请参阅 Office 加载项中的任务窗格。有关在 Excel 中实现任务窗格的示例,请参阅 Excel 加载项 JS WoodGrove Expense Trends。
自定义函数
开发人员可以借助自定义函数向 Excel 添加新函数,方法是在 JavaScript 中将这些函数定义为加载项的一部分。 Excel 中的用户可以访问自定义函数,就像他们访问 Excel 中的任何本机函数一样,比如 SUM()
。
有关自定义函数的详细信息,请参阅在 Excel 中创建自定义函数。
对话框
对话框是浮动在活动的 Excel 应用程序窗口之上的界面。 可以将对话框用于以下任务,如显示无法直接在任务窗格中打开的登录页、请求用户确认操作,或托管如果局限在任务窗格中可能过小的视频。 若要在 Excel 加载项中打开对话框,请使用对话框 API。
有关对话框和对话框 API 的详细信息,请参阅在 Office 加载项中使用对话框 API。
内容加载项
内容加载项是可以直接嵌入到 Excel 文档中的图面。 可以使用内容加载项在工作表中嵌入基于 Web 的丰富对象,如图表、数据可视化效果或媒体,或为用户提供对界面控件的访问权限,这些控件运行代码以修改 Excel 文档,或显示来自数据源的数据。 在你要将功能直接嵌入文档时,请使用内容加载项。
有关内容加载项的详细信息,请参阅 Office 内容加载项。有关在 Excel 中实现内容加载项的示例,请参阅 GitHub 中的 Excel 内容加载项 Humongous Insurance。
要与工作簿内容交互的 JavaScript API
Excel 加载项通过使用 Office JavaScript API 与 Excel 中的对象进行交互,JavaScript API 包括两个 JavaScript 对象模型:
Excel JavaScript API:Excel JavaScript API 随 Office 2016 引入,提供强类型的 Excel 对象,可用于访问工作表、区域、表、图表等。
通用 API:通用 API 随 Office 2013 引入,可用于访问多种类型的 Office 应用程序中常见的 UI、对话框和客户端设置等功能。 通用 API 中 Excel 交互的有限功能已被 Excel JavaScript API 取代。
后续步骤
通过创建第一个 Excel 加载项开始使用。 接下来,请详细了解与生成 Excel 加载项有关的核心概念。