===========================
Excel plug-ins for Anaconda
===========================

Anaconda on Windows comes ready to interact with Microsoft Excel--quickly, intuitively 
and powerfully. You can use one of the many included packages in Anaconda or you 
can connect to an outside integration tool to bring the power of Python into Excel.

The packages described here are available only on Windows unless 
otherwise noted. Like most Anaconda packages, this software is 
written by third-party open source development teams around the 
world. Anaconda collects and curates these programs, builds 
them into conda packages, and distributes them through the 
Anaconda platform so our users can enjoy the benefits of 
easy installation, version control, package management and 
environment management.

What tool should I use?
=======================

For a versatile, all-purpose tool, Anaconda includes `xlwings <http://xlwings.org>`_, which incorporates the following features:

* Drives Excel interactively from an IPython Session/Notebook.
* Performs one-line conversion to and from a NumPy array or pandas DataFrame.
* Uses Python as Excel's computation backend by wrapping Python function calls in VBA macros.
* Easily shares Python-integrated Excel workbooks with collaborators who are also running Anaconda, with no additional installation needed.

NOTE: The xlwings package is in active development. Additional features may be added in the 
future. This package is available for Windows and macOS platforms.

To export data from a Python object into Excel or import the contents of an Excel spreadsheet to perform calculations or visualizations in Python, Anaconda includes the following libraries and modules:

* `openpyxl <https://openpyxl.readthedocs.org/en/latest/>`_--Read/write Excel 2007 xlsx/xlsm files.
* `xlrd <https://secure.simplistix.co.uk/svn/xlrd/trunk/xlrd/doc/xlrd.html?p=4966>`_-- Extract data from Excel spreadsheets--.xls and .xlsx, versions 2.0 onwards--on any platform.
* `xlsxwriter <https://xlsxwriter.readthedocs.org/>`_--Write files in the Excel 2007+ XLSX file format.
* `xlwt <https://secure.simplistix.co.uk/svn/xlwt/trunk/xlwt/doc/xlwt.html?p=4966>`_--Generate spreadsheet files that are compatible with Excel 97/2000/XP/2003, OpenOffice.org Calc and Gnumeric.

To determine which one best suits your needs, see the documentation for each library or module.

Python-Excel tools not included in Anaconda
===========================================

* `DataNitro <https://datanitro.com/>`_--Offers full-featured Python-Excel integration, including user-defined functions (UDFs). Trial downloads are available, but users must purchase a license.
* `ExcelPython <https://github.com/ericremoreynolds/excelpython>`_--A free, open-source library that lets you write UDFs and macros in Python, as well as load Python modules, call methods and manipulate objects from VBA without modifying the original Python code.
* `XLLoop <http://xlloop.sourceforge.net/>`_--Open source software that implements UDFs that are hosted from a server in a variety of languages, including Python, Java, C++ and R. Installation requires multiple steps to set up the provided Excel add-in and configure the UDF server.
* `ExPy <http://www.bnikolic.co.uk/expy/expy.html>`_--Freely available demonstration software that is simple to install. Once installed, Excel users have access to built-in Excel functions that wrap Python code. Documentation and examples are provided at the site.
* `PyXLL <https://www.pyxll.com/>`_--A widely used tool that is free for personal or educational use.  It implements UDFs written in Python as add-in functions for Excel.
