📊 Cross-platform user-friendly xlsx library for C++11+
 
 
 
 
Go to file
Thomas Fussell e465151dec fix logo 2017-04-12 10:33:40 -04:00
benchmarks Merge branch 'master' of github.com:tfussell/xlnt 2017-04-11 17:57:56 -04:00
cmake intermediate commit 2017-01-21 09:04:10 -05:00
docs start working on documentation [ci skip] 2017-04-12 10:17:26 -04:00
include/xlnt Merge branch 'master' of github.com:tfussell/xlnt 2017-04-11 17:57:56 -04:00
logo fix logo 2017-04-12 10:33:40 -04:00
samples Merge branch 'master' of github.com:tfussell/xlnt 2017-04-11 17:57:56 -04:00
source apparently pArray is used in debug builds 2017-04-11 18:13:38 -04:00
tests fix windows build 2017-04-11 22:25:33 -04:00
third-party fix windows build 2017-04-11 22:25:33 -04:00
.appveyor.yml update ci scripts 2017-04-11 17:52:57 -04:00
.clang-format clang-format all source files, fix broken test helpers--lots of cleanup necessary as a result [ci skip] 2016-12-24 10:04:57 -05:00
.gitattributes clean up gitattributes 2016-11-09 17:24:47 -05:00
.gitignore set dll path before running tests, copy xlnt dll 2017-03-11 17:28:03 -05:00
.gitmodules use externalproject instead of git submodules for dependencies 2017-03-02 08:41:17 -05:00
.travis.yml update ci scripts 2017-04-11 17:52:57 -04:00
AUTHORS.md Update AUTHORS.md 2016-06-04 09:08:03 -06:00
CHANGELOG.md start working on documentation [ci skip] 2017-04-12 10:17:26 -04:00
CMakeLists.txt begin removing external dependencies 2017-04-11 11:08:16 -04:00
CONTRIBUTING.md Clarify how to contribute to the project 2016-09-07 18:36:36 -04:00
LICENSE.md start working on documentation [ci skip] 2017-04-12 10:17:26 -04:00
README.md fix logo 2017-04-12 10:33:40 -04:00
SUMMARY.md start working on documentation [ci skip] 2017-04-12 10:17:26 -04:00

README.md

xlnt

Travis Build Status AppVeyor Build status Coverage Status ReadTheDocs Documentation Status License

Introduction

xlnt is a modern C++ library for manipulating spreadsheets in memory and reading/writing them from/to XLSX files as described in ECMA 376 4th edition. xlnt is currently under active feature development and is on track for the version 1.0 release in the next few weeks. Until then, the API could have significant changes. For a high-level summary of what you can do with this library, see the feature list.

Example

Including xlnt in your project, creating a new spreadsheet, and saving it as "example.xlsx"

#include <xlnt/xlnt.hpp>

int main()
{
    xlnt::workbook wb;
    xlnt::worksheet ws = wb.active_sheet();
    ws.cell("A1").value(5);
    ws.cell("B2").value("string data");
    ws.cell("C3").formula("=RAND()");
    ws.merge_cells("C3:C4");
    ws.freeze_panes("B2");
    wb.save("example.xlsx");
    return 0;
}
// compile with -std=c++14 -Ixlnt/include -Lxlnt/lib -lxlnt

Documentation

Documentation for the current release of xlnt is available here.

License

xlnt is released to the public for free under the terms of the MIT License. See LICENSE.md for the full text of the license and the licenses of xlnt's third-party dependencies. LICENSE.md should be distributed alongside any assemblies that use xlnt in source or compiled form.