Summary
|
|
GemBox.Spreadsheet is a .NET component that enables developers to write, read or convert spreadsheet files (XLS, CSV, XLSX, HTML or ODS) from their .NET applications using one simple API. GemBox.Spreadsheet requires only .NET Framework and is many times faster than Excel automation object. GemBox.Spreadsheet Free is free of charge while GemBox.Spreadsheet Professional is a commercial version (licensed per developer).
|
- |
Features
|
Best way to explore supported features is by using our brand new sample explorer. To launch it, your computer needs to have Windows Installer 3.1 and .NET Framework 3.0. If these components are already installed (most new XP and Vista machines), click here: |
|
Launch the GemBox.Spreadsheet Sample Explorer |
|
If above link doesn't work, click here to install the prerequisites and run the application. |
- |
If you don't want to run the sample explorer, following table lists main GemBox.Spreadsheet features: |
- |
GemBox.Spreadsheet Feature |
Sample Code |
Sample Files |
|
|
International characters (Unicode support) |
|
|
HelloWorld.xls / HelloWorld.xlsx |
|
|
|
FeatureSamples.xls / FeatureSamples.xlsx |
|
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) |
|
|
Input: InvoiceTemplate.xls
Output: Invoice14.xls |
|
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) |
|
|
Input: Lunar.txt
Output: Lunar.xls / Lunar.xlsx |
|
|
|
Formulas.xls / Formulas.xlsx |
|
|
|
|
TestWorkbook.xls / TestWorkbook.xlsx |
|
XLSX advanced features (pictures, comments, hyperlinks, print and view options) |
|
|
Input: Pictures.zip
Output: AdvancedFeatures.xlsx |
|
XLSX preservation (Illustrations, Shapes, Charts, Header/Footer text and images, AutoFilter, Data Validation, Conditional Formatting, Macros, Pivot Tables) |
|
|
Input: XlsxPreserveSamplesIN.xlsm
Output: XlsxPreserveSamplesOUT.xlsm |
|
HTML export (Fully generic way of writing to HTML) |
|
|
Input: HtmlExportSampleIN.xls
Output: HtmlExportSampleOUT.html |
|
|
Web Demo (separate window) |
|
|
|
- |
Notice that different file formats have different level of support. Some advanced features are available only in certain file formats, for example:
|
Only in XLSX and ODS: Images and comments.
|
|
Only in XLSX: Preservation of charts, pivot tables, auto filter and images in header/footer. |
Therefore, for file formats that you require, you should check if our current implementation supports features that you need.
New Open XML (.XLSX) and OpenDocument (.ODS) formats are becoming industry standards, because they are open, standardized and extensible. You can read XLSX files in Excel 2003 and older by using Microsoft compatibility pack. ODS files are fully supported in Excel 2007 SP2.
GemBox.Spreadsheet on-line help contains additional information about API and supported features.
Also, there are separate feature release pages for: XLSX methods, HTML export and ODS methods.
For frequently asked licensing and technical questions, consult our FAQ section. |
- |
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.5 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 200 columns takes 240 seconds on our test machine. |
|
GemBox.Spreadsheet is designed for processing large number 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. |
|
|
|
- |
Outperforming competition
|
When comparing and evaluating different XLS, CSV, XLSX, HTML and ODS 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 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 200 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 the results are following:
|
GemBox.Spreadsheet takes 0.9 seconds. |
|
Microsoft Excel automation takes 240 seconds (266 times slower). |
Performance samples are included in the GemBox.Spreadsheet SampleExplorer, so you are free to do the test yourself and see how our component performs with the tabular data you require.
|
|
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.
|
|
100% managed code. Some similar 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.
|
|
|