Excel Services 是一种服务应用程序,可用于在 Microsoft SharePoint 上加载、计算和显示 Microsoft Excel 工作簿。 Microsoft Office SharePoint 服务器 2007 中首先引入了 Excel Services。
通过使用 Excel Services,可在 SharePoint 门户和仪表板中重用和共享 Excel 工作簿。 例如,财务分析师、业务规划人员或工程师可以在 Excel 中创建内容,并使用 SharePoint 门户和仪表板与他人共享内容,而无需编写自定义代码。 可以控制要显示的数据,并可以维护 Excel 工作簿的单个版本。 Excel Services 有四个主要接口:
- Excel Web Access Web 部件,用于通过使用浏览器查看正在使用的工作簿并与之交互
- Excel Web Services,用于编程访问
- ECMAScript (JavaScript、JScript) 对象模型,用于自动化和自定义,并驱动 Excel Web 访问控制,帮助构建更具吸引力的集成解决方案,并能够使用用户定义的函数来扩展 ECMAScript (JavaScript、JScript) 对象模型
- 用于直接通过 URL 访问工作簿部分的表述性状态转移 (REST) API
注意
Excel 互动视图功能已遭禁用。 有关从网站中删除此功能的信息,请参阅 从网页中删除 Excel 交互式视图。
还可以使用用户定义函数 (UDF) 扩展 Excel Calculation Services。
注意
有关 Excel Calculation Services 的详细信息,请参阅 Excel Services 体系结构。
通过使用Excel Services,只需使用浏览器即可查看实时交互式工作簿。 这意味着,可在门户网站中保存 Excel 工作簿并与之交互。 还可通过排序、筛选、展开或折叠数据透视表并通过传入参数,与基于 Excel 的数据进行交互;这将使您能够对发布的工作簿执行分析。 可在不更改已发布工作簿的情况下,与工作簿进行交互,这对报告作者和报告使用者很有用。 Excel Services支持连接到外部数据源的工作簿。 可以将与外部数据源的连接字符串嵌入工作簿中,或将这些连接字符串集中保存在数据连接库文件中。 还可以通过使工作表中选定的单元格成为命名区域(参数),来使这些单元格可编辑。 当您保存到Excel Services时,选择使其可查看的项目将显示在 Excel Web Access 的“参数”窗格中。 可以在“参数”窗格中更改这些命名区域的值并刷新工作簿。 还可以使用门户的筛选器 Web 部件筛选多个 Web 部件, (Excel Web Access 和其他类型的 Web 部件一起) 。 但是,不能使用Excel Services创建新工作簿或编辑现有工作簿。 若要创作用于Excel Services的工作簿,可以使用 Microsoft Excel 2013。
注意
Microsoft Excel Online 属于 Office Online,也支持在浏览器中处理 Excel 工作簿。 有关 Excel Online 的详细信息,请参阅 新 Office 入门。
Excel Services 还具有一类 Web 服务。 可以使用 Excel Web Services 加载工作簿、设置单元格和范围中的值、刷新外部数据连接、计算工作表以及提取计算结果(包括单元格值、整个计算工作簿或工作簿快照)。 在 SharePoint 中,还可使用 Excel Web Services 保存和参与协作编辑会话,以及保存副本。
注意
或有关快照的详细信息,请参阅 如何:获取整个工作簿或快照。
Excel Services支持 UDF,可用于扩展 Excel Calculation Services 的功能,例如,实现自定义计算库,或者从 Excel Services 本身不支持的 Web 服务和数据源读取数据。 Excel Services旨在成为可缩放、可靠的企业级服务器,通过 Excel 提供功能和计算保真度。
方案和功能
Excel Services 支持许多不同的方案和功能,本节对其中一些方案和功能进行了说明。
商业智能门户和工作簿分析
商业智能门户会显示记分卡和报告,使用户能只通过使用浏览器来浏览数据。 SharePoint 服务器 中的"商业智能中心"功能包括商业智能门户和仪表板功能。 图 1 显示了一个带报告库、图表并已设置关键绩效指标 (KPI) 的报告中心仪表板。
Excel Services还可用于计算服务器上的数据。 Excel Services通过提供在集成的 BI 仪表板上计算和公开基于 Excel 的内容的功能来参与 BI 中心。 可以使用 Excel Web Access Web 部件显示 Excel 工作簿,连接到外部数据源,并与工作簿中的数据进一步交互。
图 1 显示一个带筛选器 Web 部件的仪表板和使用 Excel Web Access Web 部件显示的 Excel 工作簿。
图 1. 具有筛选和 Excel 内容的仪表板
除了参与集成的仪表板外,Excel Services 还可用于显示全部或部分 Excel 工作簿,以使用户能够在熟悉的 Excel 用户界面中与此内容进行交互。 图 2 显示通过参数显示的范围和对用户输入公开的单元格。 通过将特定单元格指定为参数,使用户能够使用右侧窗格中的编辑框来修改工作表中这些单元格的值。 Excel Services 随后将基于新值重新计算工作表。
如果需要使用 Excel 中的某些功能,或者需要使用所有 Excel 功能来分析工作簿,则可单击"在 Excel 中打开"在 Excel 中打开一个工作簿。 也可以在 Excel 中打开一个工作簿以对其进行打印,然后进行脱机使用。
注意
若要使用“在 Excel 中打开”命令打开工作簿,必须拥有“打开”权限。 有关详细信息,请参阅下一部分:管理工作簿,以及 SharePoint 服务器 2010 的安全和保护用户权限和权限级别。 没有“打开”权限的用户仍然可以在 Excel 中打开快照。
图 2. 使用“参数”窗格
还可以使用 Excel Web Access 分析、透视数据并与之交互。
有关 Excel Services 和 SharePoint 中的商业智能功能的详细信息,请参阅 SharePoint 服务器 帮助中的商业智能文档。
管理工作簿
Excel Services 的工作簿管理和锁定功能使您能够执行以下操作:
- 仅在安全的中心位置保留一份由受信任的作者创建和更改的工作簿的副本,而不是在每个用户的计算机上保留多个副本。 可以更轻松地通过 Excel、SharePoint 和其他应用程序查找、共享和使用工作簿的正确版本。
- 保护工作簿模型和后端数据。 可以向用户授予"仅查看"权限以限制对工作簿的访问。 例如,可以使用 Excel 阻止用户打开工作簿,也可以控制允许用户在工作簿中查看的内容。 用户可具有对作者要共享的 Excel 工作簿中的内容的基于浏览器的访问权,但无法在 Excel 客户端中打开工作簿、查看公式或查看工作簿中可能具有的支持内容或其他知识属性。
- 创建工作簿快照。
Excel Services 已针对多个用户和工作簿进行了优化。 它还可以帮助对服务器场中的计算进行负载平衡。
有关使用Excel Services管理工作簿的详细信息,请参阅有关Excel Services概述或 SharePoint 服务器 帮助的 SharePoint 服务器 文档。
通过自定义 .NET 应用程序的编程访问
可以创建以下自定义应用程序(例如,ASP.NET 应用程序):
- 可调用 Excel Web Services 以访问、参数化和计算工作簿。
- 打开、刷新外部数据、设置单元格或区域、重新计算、与其他应用程序或人员共同参与协作编辑会话、保存和另存为。
- 使用自定义工作流来计划计算操作或发送电子邮件通知。 (这使用 SharePoint 功能,不是 Excel Services.) 的本机部分
用户定义函数 (UDF)
还可以使用 Excel Services UDF,它使您能够使用单元格中的公式来调用自定义函数,这些函数是用托管代码编写的并将部署到 SharePoint 服务器。
有关Excel Services中的 UDF 的详细信息,请参阅了解 UDF Excel Services。
ECMAScript (JavaScript, JScript)
还可以使用 Excel Services 中的 JavaScript 对象模型自动执行、自定义和驱动 Excel Web Access Web 部件控件。 可使用 JavaScript 对象模型生成更引入注目的集成的解决方案。
JavaScript 用户定义函数 (UDF)
Microsoft Excel Services 和 Microsoft SharePoint 中的新增功能、ECMAScript (JavaScript、JScript) UDF 使您能够在 SharePoint 中使用嵌入的 Excel 工作簿或 Excel Web AccessExcel Web Access Web 部件时向 Excel 添加自定义函数。 除了在 Excel 中使用的内置函数外,还可以使用 JavaScript UDF 添加自己的自定义函数,这些函数可从中的公式内部调用。
JavaScript UDF 类似于可为 Microsoft Excel 创建的 UDF 。 区别在于,JavaScript UDF 仅用于嵌入在网页中的工作簿中,并且仅存在于该网页上。
JavaScript 对象模型
Excel Services JSOM API 现在包括:
- 重新加载嵌入的工作簿的功能。 现在您可以将嵌入的工作簿重置为以下工作簿文件中的数据。
- 用户创建的浮动对象。 EwaControl 对象包含新的方法,可用于添加/删除您创建的浮动对象。
- 对 Ewa 控件的可查看区域的更多控制。
- SheetChanged 事件。 在对表单进行更改时(例如,更新单元格,删除或清除单元格,复制、剪切或粘贴范围以及撤消/重做操作),将引发此事件。
- 支持数据验证。 您现在可以验证由用户输入的数据。
REST API
可在 Excel Services 中使用 REST API,通过 URL 直接访问工作簿部件或元素。 Excel Services REST API 中内置的发现机制使开发人员和用户能够手动或以编程方式浏览工作簿的内容。
有关 Excel Services 中的 REST API 的详细信息,请参阅 Excel Services REST API。
REST ODATA
Microsoft Excel Services 和 Microsoft SharePoint 中的新增功能通过使用 Excel Services REST API 中的新 OData 功能,可以将 Excel 工作簿中的表请求为 OData。 例如,若要使用 REST 调用请求有关 SampleWorkbook.xlsx 工作簿中可用资源的 Excel 元数据,请使用以下语法。
https://{{ServerName}}/_vti_bin/ExcelRest.aspx/Docs/Documents/SampleWorkbook.xlsx/model
有关 REST API 的详细信息,请参阅 SharePoint SDK 文档中的 Excel Services 2010 REST API 文档。
若要使用 OData 请求有关 SampleWorkbook.xlsx 工作簿中的可用资源的元数据,请使用相同的 REST 语法,只不过将 /Model 替换为 /Odata,如下面的请求所示。
https://{{ServerName}}/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/OData
随后,可以使用 OData 系统查询选项,获取工作簿内表的特定信息。