mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
233 lines
11 KiB
ReStructuredText
233 lines
11 KiB
ReStructuredText
:mod:`xlnt` - user-friendly xlsx library for C++14
|
|
===========================================================================
|
|
|
|
.. module:: xlnt
|
|
.. moduleauthor:: Thomas Fussell
|
|
|
|
:Author: Thomas Fussell
|
|
:Source code: https://github.com/tfussell/xlnt
|
|
:Issues: https://github.com/tfussell/xlnt/issues
|
|
:Generated: |today|
|
|
:License: MIT
|
|
:Version: |release|
|
|
|
|
Introduction
|
|
------------
|
|
|
|
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.
|
|
|
|
Summary of Features
|
|
+++++++++++++++++++
|
|
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Feature | Read | Edit | Write |
|
|
+=====================================================================+======+======+=======+
|
|
| Excel-style Workbook | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| LibreOffice-style Workbook | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Numbers-style Workbook | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Encrypted Workbook (Excel 2007-2010) | ✓ | ✓ | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Encrypted Workbook (Excel 2013-2016) | ✓ | ✓ | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Excel Binary Workbook (.xlsb) | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Excel Macro-Enabled Workbook (.xlsm) | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Excel Macro-Enabled Template (.xltm) | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Document Properties | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Numeric Cell Values | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Inline String Cell Values | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Shared String Cell Values | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Shared String Text Run Formatting (e.g. varied fonts within a cell) | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Hyperlink Cell Values | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formula Cell Values | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formula Evaluation | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Page Margins | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Page Setup | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Print Area | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Comments | ✓ | ✓ | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Header and Footer | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Custom Views | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Charts | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Chartsheets | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Dialogsheets | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Themes | ✓ | | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Cell Styles | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Cell Formats | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formatting->Alignment (e.g. right align) | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formatting->Border (e.g. red cell outline) | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formatting->Fill (e.g. green cell background) | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formatting->Font (e.g. blue cell text) | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formatting->Number Format (e.g. show 2 decimals) | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Formatting->Protection (e.g. hide formulas) | ✓ | ✓ | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Column Styles | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Row Styles | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Sheet Styles | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Conditional Formatting | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Tables | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Table Formatting | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Pivot Tables | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| XLSX Thumbnail | ✓ | | ✓ |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Custom OOXML Properties | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Custom OOXML Parts | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Drawing | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Text Box | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| WordArt | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Embedded Content (e.g. images) | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
| Excel VBA | | | |
|
|
+---------------------------------------------------------------------+------+------+-------+
|
|
|
|
Sample code:
|
|
++++++++++++
|
|
|
|
.. literalinclude:: /samples/sample.cpp
|
|
|
|
|
|
How to Contribute Code
|
|
----------------------
|
|
|
|
See :ref:`development`
|
|
|
|
Installation
|
|
------------
|
|
|
|
Getting the source
|
|
------------------
|
|
|
|
Usage examples
|
|
--------------
|
|
|
|
Tutorial
|
|
++++++++
|
|
|
|
.. toctree::
|
|
|
|
tutorial
|
|
|
|
Cookbook
|
|
++++++++
|
|
|
|
.. toctree::
|
|
|
|
cookbook
|
|
|
|
Charts
|
|
++++++
|
|
|
|
.. toctree::
|
|
|
|
charts/introduction
|
|
|
|
Comments
|
|
++++++++
|
|
|
|
.. toctree::
|
|
|
|
comments
|
|
|
|
Working with styles
|
|
+++++++++++++++++++
|
|
|
|
.. toctree::
|
|
|
|
styles
|
|
|
|
Conditional Formatting
|
|
++++++++++++++++++++++
|
|
|
|
.. toctree::
|
|
|
|
formatting
|
|
|
|
Data Validation
|
|
+++++++++++++++
|
|
|
|
.. toctree::
|
|
|
|
validation
|
|
|
|
Parsing Formulas
|
|
++++++++++++++++
|
|
|
|
.. toctree::
|
|
|
|
formula
|
|
|
|
|
|
Information for Developers
|
|
--------------------------
|
|
|
|
.. toctree::
|
|
|
|
development
|
|
windows-development
|
|
|
|
API Documentation
|
|
------------------
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
api/xlnt
|
|
|
|
|
|
Indices and tables
|
|
==================
|
|
|
|
* :ref:`genindex`
|
|
* :ref:`modindex`
|
|
* :ref:`search`
|
|
|
|
|
|
Release Notes
|
|
=============
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
changes
|