Developers faced with the task of providing robust web-based reporting in Excel or Word output often turn first to the automation of MS Excel or Word objects on the server. Microsoft’s licensing requirements for Office makes this an expensive proposition as both server and client side licensing requirements need to be met.
B24 e Solutionsuses Excel Writer for ASP-based applications. Designed from the beginning as a server-based solution for generating Excel in binary format, it offered, from the outset, stability and increased performance when generating Excel files using a template-based or a programmatic approach. Later, the library was rewritten in pure .NET form and the Word Writer component was added and bundled in the current Office Writer Suite product.
Microsoft, in early 2004, released the first version of Visual Studio Tools for Office. VSTO, for short, is simply a platform that allows Microsoft Office documents to execute code wrapped in a .NET assembly. VSTO 2.0 was completely reworked for .NET 2.0. The rework included tighter integration with Excel as well as the promotion of native Excel and Word binaries to bona fide .NET objects.
VSTO development is best accomplished in VB.NET. C# has no support for optional parameters in method calls. However, the objects that form the core part of the Office system are built on COM and tuned for VBA code. These API’s expect optional parameters. Because of the lack of support in C#, special place holders must be passed in for each call. Using these placeholders for each method call can be tedious and demanding.
Office Writer development is greatly simplified, in comparison. As a self-contained .NET library, it can be referenced in any ASP.NET application using any preferred IDE for development. And, since the APIs are unique and only loosely based on the MS Excel and Word APIs, they’re easily manipulated from any .NET development language and are especially attuned for the popular C# option.
The 2007 Office system will be particularly interesting to professional developers because they can build vertical business applications that bridge the gap between their company’s variety of disparate back end data sources and the business needs of their information workers.