Developers are always on a look out for products which enable then to create new and interesting .NET applications and clients are keenly looking forward for easier ways to access them. Report generation has become a part and parcel of every .NET application. Moreover, the presentation of reports has been changed with the evolution of many third party products such as OfficeWriter.
OfficeWriter is a quality product developed by the leading .NET component vendor - SoftArtisans and it consists of WordWriter, ExcelWriter and Reporting Services Integration. With the help of these products, you can create Microsoft Word and Excel documents and reports on a live web server without using either Microsoft Word or Excel.
You can download an evaluation version of the product (Standard Edition) from the website of the vendor. This version will be valid for a period of 30 days from the date of installation. You will have to register on the vendor’s website in order to download the product. You will then receive an e-mail containing the necessary instructions for downloading the product. This e-mail will contain a product key which you have to use while installing the product. The installation file is around 19 MB and the download time will depend upon the speed of your internet connectivity. Normally, it takes 15-30 minutes to download and an additional 5 minutes to install the product. The installation wizard will prompt you to choose the products which have to be installed (WordWriter, ExcelWriter or Reporting Services). Once you installed the product you can access the license key manager, samples and online documentation from the start menu.
I immediately upgraded the Standard Edition to Enterprise Edition since it contains many rich API’s which are not found in Standard Edition. SoftArtisans quickly responded to my request to upgrade the eval version and supplied the required instructions for the same. I upgraded the product without any hassles.
One of the interesting points to note with regard to the product is that you can easily generate quality documents using just few lines of code. The documents generated by OfficeWriter are in respective native formats and they preserve all the features of the original product. It can be viewed by thousands of concurrent users without comprising performance. Moreover, you need not have to worry about licensing issues as the end web server doesn’t require Microsoft Word or Excel in order for you to work with the product.
With the help of OfficeWriter, you can develop applications using two ways - code based or template. Moreover, according to the vendor, WordWriter and ExcelWriter can generate around 100, 000 documents in an hour. I feel that this is practically not possible unless you have a very high connectivity speed. The documents generated by the product can be saved to the disk or can be viewed using a standard web browser. Version 3 of WordWriter comes with lot of features such as ability to add paragraphs, creation of bulleted and numbered list, insertion of tables and images, creation of hyperlinks, headers, footers and much more which will surely enable you to develop robust .NET applications.
One of the notable features of ExcelWriter is that it ships with HotCell Technology which enables you to update a server side data source directly from the client side. ExcelWriter supports advanced features such as charts, pivot tables, VBA, macros, multiple sheets, image insertion, named ranges and page layouts. Version 6 of ExcelWriter ships with several new features such as Complete API for charting, insertion and deletion of rows and columns, formula support for all built-in Excel functions, support for 3D ranges. Moreover, the product provides full runtime control of the Microsoft Excel file format.
OfficeWriter also comes with integration for SQL Server Reporting Services. With the help of OfficeWriter’s Reporting Services integration tool you can design and deliver reports in native Word or Excel. It is an enhanced version of Microsoft’s SQL Server Reporting Services. The tool comes with an OfficeWriter designer and renderer. The main purpose of the designer is that it facilitates you to create a report template using Word or Excel instead of traditional Visual Studio .NET. The template makes use of RDL technology for publishing on the reporting server. I found that OfficeWriter renderer works perfectly fine with the designer. The main job of the renderer is to interpret the information contained on the template.
The main feature of OfficeWriter’s Reporting Services designer is that it delivers reports directly from Word or Excel. Hence, you need not have to spend time for learning development tools such as Visual Studio .NET and also can avoid huge licensing cost involved with these tools. Moreover, OfficeWriter generates real RDL files which allow you to take full advantage of Reporting Services report management and security. Version 3 of the Reporting Services integration ships with many features such as the ability to open existing RDL files created using Visual Studio .NET and other development tools; ability to browse the reporting server directly from Word or Excel; support for context sensitive help; support for parameterized reports, queries, number and date formatting and much more.
You should go through the online documentation in order to understand the working of the product. I found that the quick start guides include step-by-step instructions for creating robust applications using the product. You can learn more about the working of the product by going through the sections titled How to Create Word Reports and How to Create Excel Reports. I also found that the documentation is very elaborate and contains all the required information in a crisp format. The manual also includes a comprehensive reference section for Reporting Services integration. When I clicked the menu Reference | Microsoft RDL files on the documentation it opened a section about Excel’s Formula Manager. I hope the vendor will look into this issue and update the manual accordingly.
Let us now work out a short demo about how easy it is to generate a Word document using ASP.NET.
You can use either plain text editor such as NotePad or Visual Studio .NET. If you decide to work with NotePad then you should place the two DLL files (SAWW3NET.dll & SAXW6NET.dll) inside bin folder on the working directory. If you work with Visual Studio .NET then you should add reference to the above DLL files. With VS.NET, you can take advantage of its IntelliSense feature which will simplify the coding process.
The first step is to import the required namespaces as shown below
The word file can be easily generated using the following code
Public Class MyWordDoc : Inherits System.Web.UI.Page
Private wordapp As WordApplication
Private docu As Document
Protected Sub Page_Load(sender As Object, e As EventArgs)
Private Sub TriggerDocument()
wordapp = New WordApplication()
docu = wordapp.Create()
wordapp.Save(docu, Page.Response, "MyWordDocument.doc", False)
Additionally, you can add text to the word file using the code given below
docu.InsertTextAfter("This document is generated by SoftArtisans OfficeWriter Enterprise Edition. ", False)
docu.InsertTextAfter("This document is generated using 30 days evaluation edition", False)
The final output will be as shown in the figure given below
Let us now look at how to generate a simple Excel document using ExcelWriter. Copy the code given below and execute it appropriately.
Public Class MyExcelDoc : Inherits System.Web.UI.Page
Private excelapp As ExcelApplication
Protected Sub Page_Load(sender As Object, e As EventArgs)
Private Sub TriggerDocument()
excelapp = New ExcelApplication()
Dim wbook As Workbook = excelapp.Create()
Dim wsheet As Worksheet = wbook.Worksheets(0)
wsheet.Cells(0, 0).Value = "This excel document has been generated by using
SoftArtisans OfficeWriter Enterprise Edition"
wsheet.Cells("C2").Value = "Microsoft"
wsheet.Cells("D2").Value = "Oracle"
wsheet.Cells("E2").Value = "Sybase"
excelapp.Save(wbook, Page.Response, "MyOfficeWriterExcelDocument.xls", True)
The final output will be as shown in figure 2
You can also generate the document using the appropriate templates. The vendor has provided a detailed step-by-step guide at http://docs.softartisans.com/OfficeWriterWindows/3.0.5/WordWriter/quickstart/WordTemplate.aspx.
Unfortunately, the vendor doesn’t provide the documentation for the product in HTML Help format along with the installation setup. I hope the vendor will provide the same soon so that users can access the documentation offline without going through online each and every time. However, providing documentation online will surely help the users to get up-to-date information about the product easily. The vendor also provided a detailed online documentation for the product on their support website. They have also provided separate manual for the product to work with Java platform. You can also post your queries to the support forum located at http://support.softartisans.com/Forums/ and the answers will be provided directly by the appropriate product team. The vendor is very helpful and quickly responded to all my queries regarding the product through e-mail.
The product comes with sample applications which you can access from the start menu. You can also access these demos from the online documentation. The required virtual directories are automatically created at the time of the installation of the product. I had to make a minor version modification on the IIS before getting started with the demos. This is because I had installed .NET Beta 2 but the sample applications only works with .NET Framework 1.1. You can access and download these sample application at http://support.softartisans.com/support-216.aspx. You can also access a live demo of sample applications at http://windemo.softartisans.com/OfficeWriter/3.0.5/. The vendor has also provided a separate section for FAQ’s on their website. You can download a short 5 minute video regarding the usage of OfficeWriter and also access the pricing and licensing information from the website of the vendor. I would suggest you to refer to these materials for getting additional information about the product. Once you have purchased and downloaded the product then you can get updates by logging into their website. I would strongly suggest you to regularly check out their website for product updates. I hope the vendor will release OfficeWriter for .NET 2.0 soon.