Direct reading and writing Excel files

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, PHP, Python, PowerBASIC, Xojo, Fortran and other languages. Supports Excel 97-2003 binary formats (xls), Excel 2007-2021 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.
alignments, borders, colors, fonts

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 their commercial applications without any additional fees.

Code example: generate a new spreadsheet from scratch

#include "libxl.h"
using namespace libxl;

int main() 
    Book* book = xlCreateBook(); // xlCreateXMLBook() for xlsx
        Sheet* sheet = book->addSheet(L"Sheet1");
            sheet->writeStr(2, 1, L"Hello, World !");
            sheet->writeNum(3, 1, 1000);
    return 0;

Previous example  Next example  Invoice example  Download now  Purchase now
If you're not satisfied with your purchase - you can make a refund in 30 days