Excel Services Development Roadmap

An important aspect of Excel Services is that solution developers can use its power programmatically from their applications. These solutions can be either line-of-business (LOB) products or custom enterprise solutions that an organization develops internally.

Some examples of these applications are:

  • Multi-tiered applications, with the presentation layer implemented as a Web application (for example, an ASP.NET application) that calls Excel Web Services.

  • Applications within Microsoft Office SharePoint Server 2007, or integrated with LOB products.

There are three types of development that you can do using Excel Services:

  • Develop solutions using Excel Web Services

  • Extend Excel's function library on Excel Services by using user-defined functions

  • Customize the Excel Web Access Web Part

Excel Web Service

The two main scenarios for Excel Web Services are:

  • Server-side Excel calculation

    This scenario is application centric. In this scenario, you use models defined in Excel workbooks and calculated on the server as part of application logic.

  • Automating workbook updates on the server

    This scenario is file centric. In this scenario, Excel Web Services processes the workbooks, and the custom application saves copies of the workbook or snapshots.

Server-Side Excel Calculation

For server-side Excel calculation, a custom application typically uses an Excel model as part of its logic. Instead of having to re-code Excel workbook business logic in a programming language, the business user can keep maintaining the model in Excel in a server location. The developer never needs to change a line of code in the application that uses the model created by the business user.

In this scenario, the custom application repeatedly calls Excel Web Services, which sends the calls to a back-end calculation service. Excel Calculation Services does the following:

  • Loads the specified Excel workbook

  • Receives inputs

  • Processes the workbook (for example, refreshes data or performs calculations)

  • Sends the results to the custom application

Automating Workbook Updates on the Server

When developers automate the updating of Excel workbooks on the server, they often have two objectives:

  1. Generate Excel files or modify Excel templates using the Microsoft Office Open XML Formats and then calculate the generated Excel file.

  2. Periodically open an Excel file to refresh external data (once, or maybe multiple times per user), and then calculate the resulting workbooks, and save them or mail them to various users.

In this scenario, a custom application uses Excel Web Services to do the following:

  • Load the specified Excel workbook

  • Input parameters

  • Process the workbook (for example, refresh data or perform calculations)

The custom application retrieves the live version of the workbook or snapshot and then uses the Windows SharePoint Services 3.0 object model or Web service to save the workbook or snapshot.


When you make changes to a workbook—for example, by setting values to a range using Excel Web Services—the changes to the workbook are preserved only for that particular session. The changes are not saved or persisted back to the original workbook. When the current workbook session ends (for example, when you call the CloseWorkbook method, or the session times out), whatever changes you made will be lost. If you want to save changes you make to a workbook, you can use the GetWorkbook method and then save the workbook using the API of the destination file store. For more information, see How to: Get an Entire Workbook or a Snapshot and How to: Save a Workbook.

Using Excel Web Services

You can use Excel Web Services as:

  • A regular Web service by calling the Web methods through SOAP over HTTP.

  • A local assembly by linking directly to Microsoft.Office.Excel.Server.Webservices.dll.

For more information about when you should link directly to Microsoft.Office.Excel.Server.Webservices.dll, see Loop-Back SOAP Calls and Direct Linking.

For information about the Excel Web Services API, see the Microsoft.Office.Excel.Server.Webservices and Microsoft.Office.Excel.Server namespaces reference documentation.

User-Defined Functions (UDFs)

Excel Services supports managed-code UDFs. Excel Services UDFs give you the ability to use formulas in cells to call custom functions written in managed code and deployed to Office SharePoint Server 2007. You can create UDFs to:

  • Call custom mathematical functions.

  • Get data from custom data sources into worksheets.

  • Call Web services from the UDFs.

  • Wrap calls to existing native code library functions—for example, existing Excel UDFs.

For more information about Excel Services UDFs, see Understanding Excel Services UDFs.

Using UDFs

For information about Excel Services UDF definitions, see the Microsoft.Office.Excel.Server.Udfs namespace reference documentation.

For an example of how to create managed-code UDFs, see Walkthrough: Developing a Managed-Code UDF.

Excel Web Access

You can use the Excel Web Access Web Part's extensible properties to:

  • Configure Excel Web Access programmatically.

  • Change Excel Web Access properties programmatically.

  • Apply a theme or brand a Web Part page using cascading style sheets (CSS).

Using Excel Web Access Web Part Extensibility

For information about:

  • Excel Web Access extensible properties, see the Microsoft.Office.Excel.Server.WebUI namespace reference documentation.

  • Excel Web Access CSS, see the CSS reference documentation.

  • How to programmatically configure a Web Part, see the SDK.

See Also


Walkthrough: Developing a Custom Application Using Excel Web Services
How to: Programmatically Add an Excel Web Access Web Part to a Page


Excel Services Overview
Excel Services Architecture
Unsupported Features in Excel Services
Excel Services Blogs