📊 Cross-platform user-friendly xlsx library for C++14
Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benchmarks Merge branch 'tasmail-master-shared-strings-performance' into dev Jul 23, 2018
cmake clean up cmake files and add d suffix to xlnt debug library, closes #214 Sep 8, 2017
docs generate man page from docs Sep 8, 2017
include/xlnt revert unwise data structure change Jul 25, 2018
logo delete logo.h Sep 5, 2017
python copyright year bump (2018) Jan 22, 2018
samples copyright year bump (2018) Jan 22, 2018
source revert unwise data structure change Jul 25, 2018
tests Fix some issues after merge Jul 23, 2018
third-party forgot to add new option for libstudxml too Sep 13, 2017
.appveyor.yml update ci scripts Apr 11, 2017
.clang-format clang-format all source files, fix broken test helpers--lots of clean… Dec 24, 2016
.gitattributes clean up gitattributes Nov 9, 2016
.gitignore clean up cmake files and add d suffix to xlnt debug library, closes #214 Sep 8, 2017
.gitmodules use externalproject instead of git submodules for dependencies Mar 2, 2017
.travis.yml add cmake option XLNT_CXX_LANG to set the targetted cxx standard Jul 15, 2018
AUTHORS.md Adding tpmccallum May 4, 2017
CHANGELOG.md start working on documentation [ci skip] Apr 12, 2017
CMakeLists.txt Cleanup some cmake modifications Jul 16, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Sep 9, 2017
CONTRIBUTING.md Clarify how to contribute to the project Sep 7, 2016
LICENSE.md copyright year bump (2018) Jan 22, 2018
README.md fix gitbook link/badge (point to legacy for now) Jul 23, 2018
SUMMARY.md start working on documentation [ci skip] Apr 12, 2017
book.json generate man page from docs Sep 8, 2017

README.md

xlnt logo

Travis Build Status AppVeyor Build status Coverage Status 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. 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.

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

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.