.. SPDX-License-Identifier: BSD-2-Clause
   Copyright (c) 2013-2025, John McNamara, jmcnamara@cpan.org

Creating Excel files with Python and XlsxWriter
===============================================

XlsxWriter is a Python module for creating Excel XLSX files.

.. image:: _images/demo.png

.. only:: html

   (:ref:`Sample code to create the above spreadsheet <ex_demo>`.)

   **XlsxWriter**

XlsxWriter is a Python module that can be used to write text, numbers, formulas
and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file. It supports
features such as formatting and many more, including:

* 100% compatible Excel XLSX files.
* Full formatting.
* Merged cells.
* Defined names.
* Charts.
* Autofilters.
* Data validation and drop down lists.
* Conditional formatting.
* Worksheet PNG/JPEG/GIF/BMP/WMF/EMF images.
* Rich multi-format strings.
* Cell comments.
* Textboxes.
* Integration with Pandas and Polars.
* Memory optimization mode for writing large files.

It supports Python 3.8+ and PyPy3 and uses standard libraries only.

.. only:: html

   This document explains how to use the XlsxWriter module. See the following
   sections for more information, or jump straight to the :ref:`intro`.

   .. toctree::
      :maxdepth: 1

      contents.rst

.. toctree::
   :maxdepth: 1

   introduction.rst
   getting_started.rst

.. toctree::
   :maxdepth: 1

   tutorial01.rst
   tutorial02.rst
   tutorial03.rst

.. toctree::
   :maxdepth: 1

   workbook.rst
   worksheet.rst
   page_setup.rst
   format.rst
   color.rst
   chart.rst
   chartsheet.rst
   exceptions.rst
   utility.rst

.. toctree::
   :maxdepth: 1

   working_with_cell_notation.rst
   working_with_data.rst
   working_with_formulas.rst
   working_with_dates_and_time.rst
   working_with_colors.rst
   working_with_charts.rst
   working_with_object_positioning.rst
   working_with_autofilters.rst
   working_with_data_validation.rst
   working_with_conditional_formats.rst
   working_with_tables.rst
   working_with_textboxes.rst
   working_with_sparklines.rst
   working_with_cell_comments.rst
   working_with_outlines.rst
   working_with_memory.rst
   working_with_macros.rst
   working_with_pandas.rst
   working_with_polars.rst

.. toctree::
   :maxdepth: 1

   examples.rst

.. toctree::
   :maxdepth: 1

   chart_examples.rst

.. toctree::
   :maxdepth: 1

   pandas_examples.rst
   polars_examples.rst

.. toctree::
   :maxdepth: 1

   alternatives.rst
   third_party.rst
   bugs.rst
   faq.rst
   changes.rst
   author.rst
   license.rst
