2.1.3.1 Excel Services

Excel Services is composed of three main components: Microsoft Excel Calculation Services (ECS), Excel Web Access (EWA), and Excel Web Services.

The ECS component loads and calculates workbooks, applies user changes to workbooks, accesses external data that the workbooks might reference, and saves workbooks back to the SharePoint Products and Technologies content database. ECS can be deployed on a separate application server in the farm.

EWA interacts with ECS and renders the HTML representation of workbooks. Using EWA, a user can view and interact with a workbook. Excel Web Services provides programmatic access to Excel Services capabilities. Using Excel Web Services, a user can load, modify values in, calculate, and retrieve the calculated results of a workbook. ECS also allows more than one user to edit the same workbook at the same time.

The following figure shows the high-level architecture of Excel Services and how it can be deployed in the farm topology. Though ECS can be deployed on a separate server as shown in this diagram and as described in section 2.1.1.1, it can also be configured to run on the same server with EWA and Excel Web Services.

For technical information about the protocols implemented by Excel Services, see [MS-ESP], [MS-ESURL], and [MS-ESREST]. For technical information about Excel Calculation Web Services XML Specification, see [MS-EXSPXML3]. For technical information about the protocol implemented by Excel Calculation Web Services, see [MS-EXSPWS3].

High-level architecture of Excel Services components

Figure 3: High-level architecture of Excel Services components

Excel Services is used to create, update, format, calculate, and save workbooks on a server. Excel Services provides the following core capabilities:

  • The ability to publish workbooks from a client application, such as Microsoft Excel 2013, to the server. Users can then view and interact with these workbooks via a Web browser. This ability enables browser-based interaction with the workbooks from machines that do not have a spreadsheet application installed.

  • The ability to programmatically access workbook contents via Excel Web Services, which is a Web services protocol. This ability enables client applications to load, edit, interact with, calculate, and save workbooks that have been published to Microsoft SharePoint Server 2013.

Excel Calculation Services provides the core calculation and workbook processing for Excel Services. A description of the architecture of this application server and the protocol communication with it is available. For more information, see [MSDN-EXCELS].

As in the usage scenario for viewing workbooks in the browser, it is possible to programmatically access and manipulate server-based workbooks by using Web services. Operations available via the Excel Web Services API include opening, setting ranges in, refreshing external data in, recalculating, getting ranges from, and saving a workbook.

Workbooks that are loaded by Excel Calculation Services can reference external data. The data can be in relational or multidimensional databases. Similar to a client spreadsheet application, Excel Calculation Services uses the following data access APIs to retrieve information from such data sources:

If a workbook contains elements that reference external data, such as PivotTable or data access formulas, Excel Calculation Services will perform the data retrieval by using one of the preceding methods.

A common way to extend these features to new data sources is to install an appropriate ODBC driver for the data source, thereby making it available to Excel Services. ODBC is a data access API that is commonly used. ODBC is not a wire protocol. Many ODBC drivers already exist for different data sources. When communicating with Microsoft SQL Server data sources, the OLE DB providers included with the Microsoft .NET Framework are used. These providers use the Tabular Data Stream (TDS) protocol to communicate with the server running SQL Server. General descriptions of OLE DB and ODBC are available. For more information, see [MSDN-OLEDB] and [MSDN-OpenDBConnectivity].

Excel Calculation Services can communicate not only with strictly relational data sources but with multidimensional databases. For this purpose, SharePoint Products and Technologies can install an OLAP driver that communicates with SQL Server by using the SQL Server Analysis Services Protocol. For more information, see [MS-SSAS].

Two types of protocols are used for interoperability with Excel Services. In addition to the Excel Services Publishing Protocol, as described in [MS-ESURL], workbook publishing from client authoring applications to Excel Services also uses the file operations protocols as described in section 2.2.1.3.