Python in Excel with PyXLL

PyXLL is an Excel add-in that enables you to extend Excel using nothing but Python code.

For organizations who want to provide Python-based algorithms and analyses to end users in Excel, PyXLL makes Python a performant, flexible back-end for Excel worksheets.

Download the free trial to see how PyXLL can improve your productivity and extend your analysis capabilities.

Trusted by Companies Worldwide

Teams in investment banks, hedge funds, and engineering organizations worldwide are using PyXLL to bring the full power of the Python ecosystem to their Excel end-users.

Barclays
DE Shaw
Mizuho
Trailstone
Pacific Gas and Electric
CTC
Rothsay Life
Alphadyne
Velocity

Python for Power. Excel for Convenience.

  • Python is embedded in Excel in-process for the best possible performance.
  • Leverage your existing Python code base
  • Increase productivity by using a modern dynamic language – Python
  • Reduce risk by storing code in version control instead of embedded in Excel
  • Deploy code updates more easily to Excel users with centralized code
  • Reduce coding iteration cycles by removing the compile-and-restart step usually associated with C++ add-ins
  • Improve productivity and performance using the full Python ecosystem: Numpy, Pandas, SciPy. and the full SciPy stack

Webinars: See PyXLL in Action

Deploying Python to Excel with PyXLL

See how PyXLL makes it easy to write Excel add-ins to leverage the capabilities of Python and the simplicity of the presentation of Excel.

Supercharging Excel Analytics with Python

See how PyXLL helps solve data analysis challenges with advanced Python tools and analytic engines.

What can PyXLL do?

Enable you to write fully-featured Excel add-ins easily that call your Python code from Excel.

What version of Python do I have to use?

You can choose from virtually any Python distribution you like. There’s no need to change from what you’re already using, whether it’s Enthought Canopy, Continuum Anaconda or any other CPython distribution.

All Python versions from Python 2.3 to Python 3.6 are supported (both 32 and 64 bit).

If you are new to Python and starting from scratch we recommend Enthought Canopy.

Which versions of Excel are supported?

All versions of Excel for Windows are supported from Excel 2003 to Excel 2016 (including Excel installed as part of Office 365).

Both 32 and 64 bit installations of Office for Windows are supported.

PyXLL is not available for Mac OS X.

Why PyXLL?

  • Increase productivity by using a modern dynamic language
  • Python is embedded in Excel in-process for the best possible performance
  • Leverage your existing Python code base
  • Reduce risk by storing code in your version control system instead of embedded in Excel files
  • Deploy changes more easily as the PyXLL addin just references your Python modules from the filesystem
  • Reduce coding iteration cycles by removing the compile-and-restart step usually associated with other addins
  • No COM registration or boilerplate VBA code required
  • Get better performance using numpy, scipy, pandas and your own optimized cPython modules

Features

  • Write Excel worksheet functions, macros and menu items in Python
  • Customize the Excel Ribbon
  • Reload and test without restarting Excel
  • Functions are automatically included in the Excel Function Wizard with their python docstrings
  • Asynchronous functions in Excel 2010 and 2013
  • Stream real time data from Python into Excel
  • Thread-safe functions run across multiple threads from Excel 2010 onwards
  • Built-in support for numpy datatypes
  • Customizable type system for handling non-standard datatypes
  • Use win32com or comtypes for calling back into Excel from PyXLL modules and for Excel event handling
  • Stubs pyxll module provided to allow PyXLL code to be used outside of Excel (for unit testing etc.)
  • Compatible with cPython modules compiled with SWIG, Boost, Cython etc.
  • Support for large array types from Excel 2007 onwards
  • Unicode support from Excel 2007 onwards