Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 9, 2022 16:46
April 12, 2017 10:33
October 9, 2022 16:45
November 9, 2016 17:24
May 4, 2017 11:59
January 22, 2018 09:38
October 10, 2022 09:53
September 8, 2017 17: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
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 for the full text of the license and the licenses of xlnt's third-party dependencies. should be distributed alongside any assemblies that use xlnt in source or compiled form.