OfficeWriter and Excel Services: When to Use Which

Current and potential customers often ask our sales team: “what is the difference between OfficeWriter and Excel Services?” The high level answer is that that they are very different products designed to address very distinct scenarios. In brief, OfficeWriter is a tool that developers can use to generate, read, and manipulate Excel and Word documents in .NET code. Excel Services is a SharePoint-based server product for sharing, managing, and securing Excel workbooks.

Note that the title of this article is “OfficeWriter and Excel Services”, not “OfficeWriter vs. Excel Services”! There are scenarios where they are complementary to one another, and can be used together to solve some pretty interesting problems.

Excel Services Core Capabilities

Excel Services is a server-based workbook sharing, viewing, and calculation service. It’s a server product that is part of the SharePoint platform. It requires an enterprise-level SharePoint license to use.

The features discussed here pertain to Excel Services in SharePoint 2010, which is the latest version. Excel Services focuses on several key scenarios:

  1. Sharing and viewing workbooks through a browser– Excel Services allows for thin, web-based viewing of Excel 2007 and 2010 workbooks. This feature works only with modern XLSX files, not the legacy XLS files. The key benefits of this are:
    1. Excel is not required to be installed in order to view the file since it’s rendered in a web-based view
    2. Web-based views are interactive to a certain extent. Certain features including filtering, sorting, and page-level slicers are supported.
    3. Since an XLSX file viewable by Excel Services is just another item in document library, it can be secured and managed with SharePoint permissions just as any other document.
    4. The web-based view can be hosted in SharePoint webparts to become part of a larger dashboard.

  2. Data connection refreshing– If the XLSX file has data connections defined in it, those connections can be refreshed through SharePoint. This satisfies basic data connectivity needs, but is limited both in the set of data sources supported out of the box as well as the look and feel of the data once it’s been imported. Data can be pulled into a workbook in a purely tabular way, or as a source for a pivot table.
    1. Server-side calculation – Excel Services has a server-side calculation engine through which Excel formulas are calculated by the server.
    2. Programmatic access to cell values – Using the Excel Service SOAP and REST APIs, you have a certain degree of programmatic access to cell values and ranges. You can use these APIs to set cell values, retrieve cell or range values, and to force recalculations of workbooks.

OfficeWriter Core Capabilities

There are two distinct pieces to OfficeWriter: the OfficeWriter API and OfficeWriter for SQL Server Reporting Services.

OfficeWriter API

The OfficeWriter API is a managed .NET library for generating, reading, and manipulating Excel and Word files in custom applications. The OfficeWriter API excels at programmatic workbook/document creation and delivery scenarios:

  1. Office-based reporting – A common use of OfficeWriter is to generate Excel and Word reports from custom ASP.NET web applications. With OfficeWriter you can generate new workbooks or documents from scratch, programmatically manipulate nearly every aspect of the files for fine-grained control, and quickly merge data from any data source into files.
  2. Support for multiple file formats – OfficeWriter supports programmatic access to XLS/ DOC and XLSX/DOCX files
  3. Multiple design options – The OfficeWriter API can be used either to work with a workbook or document with a full document-based object model (for example, if you wanted to read or write values from individual cells, add/remove charts, set formatting and styles, or alter print settings/page setup). It can also be used in a template mode, where all the design of the report is done in Excel or Word, and is merged with data from a datasource with five lines of code.
  4. Document-based object model – Contains familiar classes such as Workbook, Cell, Document, Chart, Section, and Style.
  5. .NET library – OfficeWriter is a managed .NET library, so you can use it anywhere you find a .NET runtime. Our customers use OfficeWriter to build Office document processing applications on a number of different platforms including ASP.NET, SharePoint, SQL Server, and Winforms.
  6. Optimized for server use – OfficeWriter is designed for high performance and highly scalable server usage. Therefore, it is a safe alternative to automating the Office applications.

OfficeWriter for SQL Server Reporting Services (SSRS)

OfficeWriter for SSRS is a custom rendering extension for Microsoft SQL Server Reporting Services, and an Office-based report design tool. OfficeWriter for SSRS takes the document generation capabilities of the OfficeWriter API and brings them to SSRS in order to enable to export better, more usable Excel and Word files without writing code.

The key scenarios for the OfficeWriter for SSRS are:

  1. Office-based report designer – SSRS reports can be designed in Excel and Word. . All design is done using regular Excel and Word procedures, so there’s very little to learn before being able to start writing data-bound reports for SSRS.
  2. Enhanced Excel and Word output – SSRS supports export to Excel and Word now, but the out-of-the-box rendering extension doesn’t support all Excel and Word features. For example, out of the box you cannot export an Excel report with Excel formulas and real Excel charts using SSRS. OfficeWriter for SSRS enables you to export Excel and Word reports that support all features of the file formats.
  3. Extended file format support – SSRS didn’t introduce a Word renderer until SSRS 2008. If you want Word in SSRS 2005, OfficeWriter for SSRS allows it. Also, SSRS won’t be introducing out of the box XLSX and DOCX rendering until the release of SQL Server codename “Denali”. If you need modern file format support now for currently released versions of SSRS, you’ll need OfficeWriter.
  4. Built on Reporting Services technology – OfficeWriter for SSRS is built on standard Reporting Services extensibility layers – so it fits into the Reporting Services server architecture seamlessly. You can still use all SSRS server features with reports designed with OfficeWriter for SSRS such as security, execution, delivery, and management.

OfficeWriter and Excel Services – Side By Side

The key takeaway of the comparison is that Excel Services and OfficeWriter are different tools for different scenarios. If you need programmatic Excel and Word generation and manipulation, then OfficeWriter is the tool for you. If you need web-based sharing, viewing and management of Excel workbooks, then Excel Services can help.

Here is a side-by-side comparison:

OfficeWriter Excel Services Takeaway
Core scenario Programmatic generation, manipulation, population, and reading of Excel and Word documents in custom applications. Centralized sharing, thin web-based viewing, and access management of Excel workbooks. If you need to manipulate Office files in applications, or to edit/change the document or workbook, OfficeWriter is the tool to use. If you want to share already existing Excel workbooks in a SharePoint web portal, Excel Services is the right tool.
Architecture .NET managed library with Excel and Word-based object model Hosted as a feature in SharePoint OfficeWriter is a library, so developers need to write code in order to use the product.  Excel Services is hosted in SharePoint and supports its core scenarios with no coding.
File format support Supports OpenXML formats XLSX and DOCX, as well as legacy binary formats XLS and DOC XLSX only If you require a lot of breadth in the types of files that are supported, OfficeWriter supports more file formats than Excel Services.
Programmability By nature, OfficeWriter is an API designed to be used in .NET apps.  More about the OfficeWriter API here. Exposes a REST API to retrieve calculated worksheet values OfficeWriter is fully programmable so you can control all aspects of the document or workbook in your application.  Excel Services’ programmability provides calculation and data extraction capabilities if you are connected to a SharePoint server.
Breadth of Office feature support OfficeWriter supports all Excel and Word file format features. Excel Services provides web-based interactivity for certain features (like slicers, filters, sorting, and a few more) but does not claim to support all Excel features. If your reporting requirements call for full Excel support and you can’t sacrifice features, then OfficeWriter would be the better tool.  If hosting a somewhat limited Excel workbook in a browser for sharing purposes is what you need, then Excel Services will suffice.

Different Tools for Different Purposes – But They Can Be Used Together!

As I hope the above chart makes clear, OfficeWriter and Excel Services are two very different tools that satisfy two very different requirements. Given that OfficeWriter is the tool that generates Office documents and Excel Services manages, hosts, and displays Excel files, you can start to see how they can be used together. For example, you could write an application using OfficeWriter that generates or merges data into an Excel workbook and then saves it into a SharePoint document library. Users can then view the workbook using Excel Services.

Try OfficeWriter Today

If you’re interested in trying out OfficeWriter to see if it meets your needs, you can do so for free. Visit http://www.officewriter.com and follow the links to download an evaluation.

Related posts: