📊 Cross-platform user-friendly xlsx library for C++11+
Go to file
Thomas Fussell 297b331435
Merge pull request #667 from Teebonne/patch-7
Disambiguation from other max/min functions
2022-12-03 11:45:01 -06:00
.circleci Update config.yml 2022-10-09 16:46:51 +01:00
benchmarks fix warnings, bump copyright, fix typo, update npm libs 2021-08-22 08:23:18 -04:00
cmake Export xlnt::xlnt target when installed. 2018-08-07 09:08:29 -04:00
docs Removed zip download, they don't work with submodules. Added vcpkg command 2022-08-24 08:25:38 +10:00
include/xlnt Merge pull request #667 from Teebonne/patch-7 2022-12-03 11:45:01 -06:00
logo fix logo 2017-04-12 10:33:40 -04:00
python fix warnings, bump copyright, fix typo, update npm libs 2021-08-22 08:23:18 -04:00
samples fix warnings, bump copyright, fix typo, update npm libs 2021-08-22 08:23:18 -04:00
source Added the ability to set the active sheet 2022-08-29 18:30:48 +10:00
tests Merge pull request #657 from Teebonne/patch-2 2022-10-09 09:30:59 -05:00
third-party Fixes warning C4127: conditional expression is constant 2022-08-29 23:31:51 +01:00
.appveyor.yml Update .appveyor.yml 2022-10-09 16:45:55 +01: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 Fix test case - page size now optional. 2021-09-04 02:15:19 +08:00
.gitmodules ignore nullptr warning in libstudxml, update to latest beta 9, and switch to submodule 2021-02-20 22:29:59 -04:00
.release-it.json edit version bump path 2020-03-21 15:16:20 -04:00
AUTHORS.md Adding tpmccallum 2017-05-04 11:59:33 +10:00
CHANGELOG.md start working on documentation [ci skip] 2017-04-12 10:17:26 -04:00
CMakeLists.txt option OFF by default for building test executable 2022-08-30 00:45:23 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-09-08 23:09:35 -04:00
CONTRIBUTING.md Clarify how to contribute to the project 2016-09-07 18:36:36 -04:00
LICENSE.md copyright year bump (2018) 2018-01-22 09:38:48 -05:00
README.md Apply review suggesstion 2022-10-10 09:53:54 +08:00
SUMMARY.md start working on documentation [ci skip] 2017-04-12 10:17:26 -04:00
book.json generate man page from docs 2017-09-08 17:00:11 -04:00
package-lock.json Merge branch 'master' into dependabot/npm_and_yarn/minimist-1.2.6 2022-08-06 12:10:07 -05:00
package.json fix warnings, bump copyright, fix typo, update npm libs 2021-08-22 08:23:18 -04:00


xlnt logo

Travis Build Status AppVeyor Build status Coverage Status Documentation Status License


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. The first public release of xlnt version 1.0 was on May 10th, 2017. Current work is focused on increasing compatibility, improving performance, and brainstorming future development goals. For a high-level summary of what you can do with this library, see the feature list. Contributions are welcome in the form of pull requests or discussions on the repository's Issues page.


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("B2").value("string data");
    return 0;
// compile with -std=c++14 -Ixlnt/include -lxlnt


Documentation for the current release of xlnt is available here.

Building xlnt - Using vcpkg

You can download and install xlnt using the vcpkg dependency manager:

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./vcpkg integrate install
./vcpkg install xlnt

The xlnt port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.


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.