Contents
|
Summary
|
 |
GemBox.Spreadsheet is a
.NET component which provides easy and high performance way to write, read or convert
native Microsoft Excel files (XLS files in BIFF format, CSV files in text format
or XLSX files in Open XML format) without the need
for Microsoft Excel on either the developer or client machines.
Fully generic HTML export is also supported.
GemBox.Spreadsheet Free comes free of charge while
GemBox.Spreadsheet Professional is a commercial version
(licensed per developer).
|
| |
| Better
than automation |
| With Microsoft Office installed
on most business desktops it is tempting to use Microsoft Excel
object for XLS file reading / writing. Look at the following
table for good reasons not to do so: |
| |
|
Microsoft Excel automation |
GemBox GemBox.Spreadsheet component |
|
|
| Requires a license for Microsoft Excel
on every client machine. |
|
| Requires that only the developer using
our component has one GemBox.Spreadsheet developer
license, even if the developed application
will be installed on thousands of client machines. |
|
|
Requires that all client machines have the
same version of Microsoft
Excel installed. |
|
| Files generated with GemBox.Spreadsheet are compatible
with Excel 97, Excel 2000, Excel XP, Excel
2003, Excel 2007 and OpenOffice, so any of these products
can (but don’t have to) be installed
on a client machine. |
|
| When using automation, Excel is loaded
in the background, taking few MB
and loading a large number of files and DLLs. |
|
| GemBox.Spreadsheet is a single component taking
0.2 MB. An additional memory is allocated
only when needed to perform certain operations. |
|
| Microsoft Excel was designed as UI application
and because of that API is very slow. Generating
a single worksheet with 200 rows and 100 columns
takes 239.4 seconds on our test machine. |
|
| GemBox.Spreadsheet is designed for processing large
quantities of Excel files. The same test took
0.9 seconds on our test machine (266
times faster than Microsoft Excel). |
|
| Microsoft Excel API is exposed
as COM object. This results in the same disadvantages
as with calling any COM object from the managed
code (type conversions, need for COM wrapper,
bad integration with .NET Framework etc.).
|
|
|
GemBox.Spreadsheet is a pure .NET component,
designed and developed to conform to Microsoft
standards for .NET libraries.
|
|
|
|
| |
| Features |
| Look at the following
table for the list of GemBox.Spreadsheet main features: |
| |
|
GemBox.Spreadsheet Feature |
Sample Code |
Sample Files |
|
|
| International characters (Unicode support) |
|
|
|
|
|
|
|
| Various cell data types (numbers, strings, dates, floating point etc.) |
|
|
|
|
|
| Cell styles (alignment, indentation, rotation, borders, shading, protection, text wrapping and shrinking etc.) |
|
| Font formatting (size, color, font type, italic and strikeout properties, different levels of boldness, underlining, subscript and superscript) |
|
| Row height and column width |
|
|
|
| Row and column grouping and outlining |
|
| Template support (create new workbooks using existing workbook as a template) |
|
|
|
| Preserving print area and summaries (excel objects not directly supported by GemBox.Spreadsheet API) |
|
| CSV files (delimited with comma, tab, semicolon or any other separator) |
|
|
|
|
|
|
|
|
|
|
|
|
|
| XLSX advanced features (pictures, comments, hyperlinks, print and view options) |
|
|
|
| XLSX preservation (Illustrations, Shapes, Charts, Header/Footer text and images, AutoFilter, Data Validation,
Conditional Formatting, Macros, Pivot Tables) |
|
|
|
| HTML export (Fully generic way of writing to HTML) |
|
|
|
|
|
|
|
|
| |
Following features are supported only in xlsx:
|
Images.
|
|
Comments.
|
|
Hyperlinks.
|
|
Excel charts preservation.
|
|
Pivot tables preservation.
|
|
AutoFilter preservation.
|
|
Images in Header/Footer preservation.
|
Headers and footers, formulas and some other advanced features are partially supported,
so you should check whether current implementation satisfies your needs.
More details on XLSX implementation can be found
here.
Details on HTML export feature can be found here.
Additional information about GemBox.Spreadsheet object model
and supported features can be found in on-line help.
For frequently asked licensing and technical questions, consult our
FAQ section.
|
| |
|
Outperforming competition |
Why use our component? When
comparing and evaluating different XLS, HTML, CSV and XLSX reading / reporting products,
don't forget the following considerations.
|
Plain and fair licensing.
We don't charge you additional server licenses. You can use
our component for unlimited number of projects (you don't
need to purchase additional "OEM licenses"). And we don't force you to
purchase costly subscription packages.
Our licensing is very simple; every developer working with our component
needs to be covered with developer license. We don't care if it is a Windows
or web application, how many servers do you use and do you have just one or
millions of customers.
|
|
Performance. In the case
of desktop application, you don't want your user to wait
20 seconds for every single report. In the case of web
application, you want your server to simultaneously support
as much users as possible. Our test
programs generate single XLS file with 200 rows and 100
columns of tabular data. Half of the values are strings
and half are numbers, with 50% of cells having some cell
style applied (font size and border). On our test machine
(Pentium 4 on 2.4 GHz, 512 MB of RAM) the results are
following:
|
GemBox.Spreadsheet takes 0.9 seconds. |
|
Fastest competition product takes 8 seconds (more than 8 times slower). |
|
Microsoft Excel automation takes 239.4 seconds (266 times slower). |
Performance samples are included in GemBox.Spreadsheet
Free, so you are free to do the test yourself and
see how our component performs with the tabular data you
require.
|
|
100% managed code. Many
of the competing products (and actually Microsoft Excel
object) are old COM components with .NET RCW (Runtime
Callable Wrapper). That brings many performance and interoperability
disadvantages as every method call you make goes through
the wrapper until it reaches C++ code. On the other hand,
our GemBox.Spreadsheet component is 100% managed, written entirely
in C# and designed to support both Visual Basic .NET and
C# in equal manner.
|
|
Clean and easy to use API.
GemBox.Spreadsheet is a designed and developed to conform to Microsoft
standards for .NET libraries. Caching also enables you
to access worksheet in a more natural way. For example,
the same task of changing cell text orientation would
be one line in GemBox.Spreadsheet:
|
ws.Cells[6,0].Style.Rotation = 30;
|
and three lines in one of the competing products:
XLStyle someStyle = new XLStyle(book);
someStyle.Rotation = 30;
sheet[6,0].Style = someStyle;
|
The latter is a hassle and forces you to think about Excel
unique cell style limit. In other words, you will have
to pay attention not to create the same cell style again
in a more complex worksheet.
|
|
We support your platform. With GemBox.Spreadsheet
you will receive samples for both Visual Basic .NET and C#, samples for Visual
Studio .NET 2003, Visual Studio 2005 and Visual Studio 2008, and our
component compiled against .NET Framework 1.1, .NET Framework 2.0, .NET
Framework 3.0 and .NET Framework 3.5. |
|

|
|
| © GemBox
Software. All rights reserved. |