xlnt/README.md

53 lines
3.0 KiB
Markdown
Raw Normal View History

2017-08-19 08:54:54 +08:00
<img height="100" src="https://user-images.githubusercontent.com/1735211/29433390-f37fa28e-836c-11e7-8a60-f8df4c30b424.png" alt="xlnt logo"><br/>
2014-05-07 05:28:38 +08:00
====
[![Travis Build Status](https://travis-ci.org/tfussell/xlnt.svg?branch=master)](https://travis-ci.org/tfussell/xlnt)
2015-11-22 03:21:52 +08:00
[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/2hs79a1xoxy16sol?svg=true)](https://ci.appveyor.com/project/tfussell/xlnt)
[![Coverage Status](https://coveralls.io/repos/github/tfussell/xlnt/badge.svg?branch=master)](https://coveralls.io/github/tfussell/xlnt?branch=master)
[![Documentation Status](https://legacy.gitbook.com/button/status/book/tfussell/xlnt)](https://tfussell.gitbooks.io/xlnt/content/)
2015-11-22 03:15:45 +08:00
[![License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
2015-10-27 03:46:16 +08:00
2014-05-20 08:52:04 +08:00
## 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](http://www.ecma-international.org/publications/standards/Ecma-376.htm). 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](https://tfussell.gitbooks.io/xlnt/content/docs/introduction/Features.html). Contributions are welcome in the form of pull requests or discussions on [the repository's Issues page](https://github.com/tfussell/xlnt/issues).
## Example
Including xlnt in your project, creating a new spreadsheet, and saving it as "example.xlsx"
2014-05-07 05:28:38 +08:00
2014-05-20 05:37:00 +08:00
```c++
#include <xlnt/xlnt.hpp>
2014-05-20 05:37:00 +08:00
int main()
{
2016-12-25 00:06:56 +08:00
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
2016-07-06 19:13:42 +08:00
```
2015-11-04 07:58:36 +08:00
## Documentation
2017-04-12 22:20:18 +08:00
Documentation for the current release of xlnt is available [here](https://tfussell.gitbooks.io/xlnt/content/).
2015-11-04 07:58:36 +08:00
2022-09-01 14:41:44 +08:00
## Building xlnt - Using vcpkg
2022-10-10 09:53:54 +08:00
You can download and install xlnt using the [vcpkg](https://github.com/microsoft/vcpkg) dependency manager:
2022-09-01 14:41:44 +08:00
2022-10-10 09:53:54 +08:00
git clone https://github.com/microsoft/vcpkg.git
2022-09-01 14:41:44 +08:00
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install xlnt
2022-10-10 09:53:54 +08:00
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](https://github.com/microsoft/vcpkg) on the vcpkg repository.
2022-09-01 14:41:44 +08:00
2014-05-20 08:52:04 +08:00
## License
2017-04-12 22:25:34 +08:00
xlnt is released to the public for free under the terms of the MIT License. See [LICENSE.md](https://github.com/tfussell/xlnt/blob/master/LICENSE.md) for the full text of the license and the licenses of xlnt's third-party dependencies. [LICENSE.md](https://github.com/tfussell/xlnt/blob/master/LICENSE.md) should be distributed alongside any assemblies that use xlnt in source or compiled form.