Download LibXL for Windows Retail

LibXL for Windows Retail

LibXL for Windows Retail
LibXL for Windows Retail

LibXL is a library that can read and write Excel files. It doesn't require Microsoft Excel and .NET framework, combines an easy to use and powerful features. Library can be used to

Generate a new spreadsheet from scratch
Extract data from an existing spreadsheet
Edit an existing spreadsheet

LibXL can help your applications in exporting and extracting data to/from Excel files with minimum effort. Also it can be used as report engine. Library can be used in C, C++, C#, Delphi, Fortran and other languages. Supports Excel 97-2003 binary formats (xls) and Excel 2007-2013 xml formats (xlsx/xlsm). Supports Unicode and 64-bit platforms. There are a wrapper for .NET developers and separate Linux, Mac and iOS editions. See features of the library in demo.xls or demo.xlsx files.

Simple interoperate, no more Excel dependency
LibXL has C/C++ headers, Delphi unit and .NET assembly for including in your project. No OLE automation.

Customizing the look and feel
LibXL supports numerous formatting options: alignments, borders, colors, fill patterns, fonts, merging cells and so on.

High performance
Writing speed is about 2 100 000 cells per second for numbers and 240 000 cells per second for 8-character random strings in binary xls format (CPU 3.2 GHz).

Royalty-free distribution with your application
Our customers can use this library in theirs commercial applications without any fees.

Version 3.9.1 (2020-05-12)
added Sheet::firstFilledRow(), Sheet::lastFilledRow(), Sheet::firstFilledCol() and Sheet::lastFilledCol() methods which return the boundaries of filled cells and ignore blank/format cells
Sheet::firstRow(), Sheet::lastRow(), Sheet::firstCol() and Sheet::lastCol() methods return the boundaries of used cells including blank/format cells
added initFont parameter to the RichString::addFont() method
added xlSheetWriteStrAsNum() in C headers
now the library switches to the normal mode (non-strict) for possibility to continue to use other methods with the current book instance after unsuccessful loading of xlsx file
now the Sheet::setMerge() copies top left cell format for all merged cells (xls)
fixed a bug with reading empty strings (xls)
fixed a bug with loading some xlsx files (error message "Required attribute(s) missing")
fixed a bug with reading some fonts in the RichString::getText() method
fixed a bug with using the Sheet::setPrintRepeatRows() when the name of sheet contains special characters (xlsx)
New methods:

Code example: generate a new spreadsheet from scratch
class Program
    static void Main(string[] args)
            Book book = new BinBook(); // use XmlBook() for xlsx
            Sheet sheet = book.addSheet("Sheet1");
            sheet.writeStr(2, 1, "Hello, World !");
            sheet.writeNum(3, 1, 1000);
        catch (System.Exception e)

Only for V.I.P
Warning! You are not allowed to view this text.
Users of Guests are not allowed to comment this publication.