2015-10-31 18:47:38 +08:00
:mod: `xlnt` - user-friendly xlsx library for C++14
===========================================================================
2015-10-26 22:41:00 +08:00
2015-10-31 18:47:38 +08:00
.. module :: xlnt
.. moduleauthor :: Thomas Fussell
2015-10-26 22:41:00 +08:00
2015-10-31 18:47:38 +08:00
:Author: Thomas Fussell
:Source code: https://github.com/tfussell/xlnt
:Issues: https://github.com/tfussell/xlnt/issues
:Generated: |today|
:License: MIT
:Version: |release|
2015-10-26 22:41:00 +08:00
2015-10-31 18:47:38 +08:00
Introduction
------------
2015-10-26 23:43:48 +08:00
2016-07-22 11:25:24 +08:00
xlnt is a C++14 library for reading, writing, and modifying XLSX files as described in [ECMA 376](http://www.ecma-international.org/publications/standards/Ecma-376.htm). The API is based on [openpyxl](https://bitbucket.org/openpyxl/openpyxl), a Python library to read/write Excel 2007 xlsx/xlsm files, and ultimately on [PHPExcel](https://github.com/PHPOffice/PHPExcel), pure PHP library for reading and writing spreadsheet files upon which openpyxl was based. This project is still very much a work in progress, but the core development work is complete.
2015-10-26 23:43:48 +08:00
2016-10-26 08:21:58 +08:00
Summary of Features
+++++++++++++++++++
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Feature | Read | Edit | Write |
2016-11-01 08:48:43 +08:00
+=====================================================================+======+======+=======+
2016-10-26 08:21:58 +08:00
| Excel-style Workbook | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| LibreOffice-style Workbook | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Numbers-style Workbook | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Encrypted Workbook (Excel 2007-2010) | ✓ | ✓ | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Encrypted Workbook (Excel 2013-2016) | ✓ | ✓ | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Excel Binary Workbook (.xlsb) | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Excel Macro-Enabled Workbook (.xlsm) | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Excel Macro-Enabled Template (.xltm) | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Document Properties | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Numeric Cell Values | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Inline String Cell Values | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Shared String Cell Values | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Shared String Text Run Formatting (e.g. varied fonts within a cell) | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Hyperlink Cell Values | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formula Cell Values | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formula Evaluation | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Page Margins | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Page Setup | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Print Area | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
| Comments | ✓ | ✓ | |
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Header and Footer | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Custom Views | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Charts | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Chartsheets | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Dialogsheets | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Themes | ✓ | | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Cell Styles | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Cell Formats | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formatting->Alignment (e.g. right align) | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formatting->Border (e.g. red cell outline) | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formatting->Fill (e.g. green cell background) | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formatting->Font (e.g. blue cell text) | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formatting->Number Format (e.g. show 2 decimals) | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Formatting->Protection (e.g. hide formulas) | ✓ | ✓ | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Column Styles | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Row Styles | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Sheet Styles | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Conditional Formatting | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Tables | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Table Formatting | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Pivot Tables | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| XLSX Thumbnail | ✓ | | ✓ |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Custom OOXML Properties | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Custom OOXML Parts | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Drawing | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Text Box | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| WordArt | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Embedded Content (e.g. images) | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2016-10-26 08:21:58 +08:00
| Excel VBA | | | |
2016-11-01 08:48:43 +08:00
+---------------------------------------------------------------------+------+------+-------+
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Sample code:
++++++++++++
2015-10-26 23:43:48 +08:00
2016-11-21 00:06:52 +08:00
.. literalinclude :: ../samples/sample.cpp
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
How to Contribute Code
----------------------
2015-10-26 23:43:48 +08:00
2016-11-21 00:06:52 +08:00
See `Information For Developers`_
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Installation
------------
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Getting the source
------------------
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Usage examples
--------------
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Tutorial
++++++++
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
tutorial
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Cookbook
++++++++
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
cookbook
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Charts
++++++
2015-10-31 18:21:21 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
charts/introduction
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Comments
++++++++
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-31 18:21:21 +08:00
2015-10-31 18:47:38 +08:00
comments
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Working with styles
+++++++++++++++++++
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
styles
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Conditional Formatting
++++++++++++++++++++++
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
formatting
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
Data Validation
+++++++++++++++
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
validation
2015-10-31 18:21:21 +08:00
2015-10-31 18:47:38 +08:00
Parsing Formulas
++++++++++++++++
2015-10-31 18:21:21 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-31 18:21:21 +08:00
2015-10-31 18:47:38 +08:00
formula
2015-10-31 18:21:21 +08:00
2015-10-31 18:47:38 +08:00
Information for Developers
--------------------------
2015-10-31 18:21:21 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
development
windows-development
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
API Documentation
------------------
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
.. toctree ::
:maxdepth: 2
2015-10-26 23:43:48 +08:00
2015-10-31 18:47:38 +08:00
api/xlnt
2015-10-26 23:43:48 +08:00
2015-10-26 22:41:00 +08:00
Indices and tables
==================
* :ref: `genindex`
* :ref: `modindex`
* :ref: `search`
2015-10-31 18:47:38 +08:00
Release Notes
=============
.. toctree ::
:maxdepth: 1
changes