SyncFusion XlsIO
Essential XlsIO version 4.3.0.30
Your users need the ability to export your application’s data to Excel. Maybe they
don’t know it yet, but you should — because sooner or later, they’ll be demanding
it. Excel is such a powerful and common tool that it cannot be ignored. It’s not
difficult to enhance an ASP.NET Web site with the ability to generate Excel spreadsheets
if your needs are basic. However, if you need fancier features — such as highly-functional,
fantastic-looking spreadsheets embedded with useful charts, images, security, and
other impressive features — then a tool such as Essential XlsIO becomes indispensable.
The Problem
Without a tool such as XlsIO, developers historically had to resort to COM Interop
to access Excel’s object model directly in order to access Excel’s more advanced
spreadsheet creation capabilities. For Web development, this is fraught with hazards
related to performance, scalability, licensing, support, and reliability. Excel
simply wasn’t created to be a spreadsheet server; it was created only to be a single-user
desktop application.
The Solution
XlsIO on the other hand, was indeed created to serve spreadsheets quickly and efficiently
without requiring Excel to be installed on the server. XlsIO is a custom spreadsheet
engine written in pure C# that reads and writes Excel files in BIFF 8 format, so
that end users with any modern version of Excel (or Microsoft’s free Excel viewer)
can work with the files effortlessly. XlsIO works well with any .NET language, and
with any version of Visual Studio, including the Express editions.
In case you’ve already developed some export code using the old COM Interop approach
previously mentioned, you’ll be happy to know that upgrading to XlsIO should be
quick and easy, thanks to its object model’s similarities with Excel’s object model.
The Code
To begin using XlsIO, first add a reference to Syncfusion.XlsIO.Base in any Visual
Studio Web application, as shown in Figure 1.

Figure 1: To
begin using XlsIO, first add a reference to XlsIO.Base in
your Web application.
Add a line at the top of the page to Import Syncfusion.XlsIO, then start with these
two lines of code, which are always required to begin spreadsheet interaction:
'Instantiate
Dim
xl As ExcelEngine = New
ExcelEngine()
Dim
xlApp As IApplication = xl.Excel
The first line instantiates the spreadsheet-creation engine; the second line instantiates
the Excel application object.
Figure 2 shows how easy it is to create a new spreadsheet from
scratch, output some data into it, and send it to the user. This is all done efficiently
in memory without Excel being required on the server and without needing to save
any files on the server.
Figure 2.
This is all the code it takes to create a new spreadsheet, write text into it, and
send it to the user.
It’s just as easy to read from an existing data-filled spreadsheet. The code snippet
in
Figure 3 shows how to open an existing spreadsheet and treat
it as a data source.
Figure
3. It’s easy to open a pre-existing spreadsheet to use it as a template
or data source.
The Features
Although these simple examples show how you can easily get started with the basic
functionality of XlsIO, this product is packed with too many powerful capabilities
to demonstrate here. With only a little more code than is shown here, you can take
advantage of its more sophisticated features. For example, you can take advantage
of Excel’s built-in functions and formulas, as well as more than 150 built-in functions
included with Syncfusion’s built-in calculation engine.
There are also a variety of worksheet manipulation capabilities provided, such as
copying worksheets between workbooks, grouping and hiding, and row/column sizing
and insertion. You can also programmatically lock cells, use named ranges, add comments
or hyperlinks to any cell, and secure worksheets with passwords. XlsIO also supports
programmatic configuration of a variety of common spreadsheet properties, such as
page orientation, paper size, margins, and headers/footers.
It’s easy to beautify the spreadsheets created by XlsIO. For example, embedded images
and Rich Text Format are supported, which provides for fancy formatting capabilities.
Conditional formatting is also supported, so you could (for example) automatically
display all negative numbers in red.
It couldn’t be any easier to programmatically generate or manipulate Excel charts,
thanks to the handy built-in chart object. This intuitive object should be a snap
to work with for anyone familiar with chart creation in Excel.

Figure 4: Generating
colorful Excel tables and charts is a breeze with XlsIO, but can be challenging
without.
In case you run into any Excel spreadsheet features that you can’t directly create
using XlsIO (such as embedded VBA code or macros), you can always start with a pre-existing
Excel spreadsheet that already has such items configured. Such a “template” can
be quite useful, even when not required; for example, to visually format a spreadsheet
layout at design time that you plan to fill in with data at run time (Figure 3 shows
how to open an existing spreadsheet template).
The Bottom Line
Syncfusion provides an online knowledgebase, FAQ, and forum to help with any questions
that may arise during development. Their downloadable free trials contain an abundance
of code samples, covering every major feature.
The price for XlsIO is reasonable, starting at US$495 for a single-user license.
This includes both Windows Forms and Web versions of the component, and unlimited
tech support for 60 days. Syncfusion’s licensing is liberal; it doesn’t anchor you
to a single development machine. They understand a lot of developers are rather
mobile these days, and might therefore use more than one computer. If you’d like
access to XlsIO’s efficiently written C# source code, it is available (although
the price increases to US$895). You could save money by purchasing a package deal
for multiple licenses or their full “Essential Studio” suite of components.
If you’re not familiar with Syncfusion I suggest you cruise their Web site (http://www.syncfusion.com) to learn about their many other
unique components, controls, and packages.
Rating:
ééééé
Web Site:
http://www.syncfusion.com/products/xlsio/
Price: US$495
Review Date: 2007