PyXLL (Python for Excel)

Python for Excel with PyXLL

PyXLL streamlines deployment of new interactive analysis tools to end users to quickly roll out new strategies and algorithms. Download the free trial to see how PyXLL can improve your productivity and extend your analysis capabilities.

Download PyXLL for Windows 7 and later.

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.

PyXLL allows organizations to seamlessly deploy Python algorithms and models to all their Excel users. No more uncontrolled proliferation of VBA-based spreadsheet versions, no more tossing functions over the wall to get re-implemented, no more need to deploy multiple specialized applications in place of Excel-based computations. Technical teams and developers can use the full power of Python, and end users can access the results in their familiar Excel environment.

In this webinar we demonstrate how to:

  1. Use Python functions to implement financial models in Excel
  2. Reduce risk by storing code in version control instead of embedded in Excel files
  3. Develop functions with PyXLL and Python simply, and its comparison to VBA
Supercharging Excel Analytics with Python

See how the Python for Excel (PyXLL) add-in helps solve data analysis challenges with advanced Python tools and analytic engines.

Extending the native analytic capabilities of Excel or implementing Excel-backend analytics on a cluster or in the cloud with VBA, C++, and other legacy languages is challenging and time-consuming. Python’s elegant syntax and extensive ecosystem of numeric and analytic packages can greatly simplify the development of advanced analytic tools and cluster/cloud-based backend capabilities in Excel.

In this webinar we demonstrate how to:

  1. Implement Excel backend parallel computations on local clusters or cloud-based platforms such as Microsoft Azure with Python
  2. Use Python functions to implement advanced, interactive graphical analytic tools in Excel
  3. Reduce risk by storing code in GitHub version control instead of embedded VBA in Excel files

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.

Free 30-Day Trial

PyXLL makes it possible to write add-ins for Microsoft Excel in Python.
Using simple decorators your Python code can instantly be exposed to Excel as worksheet functions, menu items, or macros.

Download and Install with Canopy

PyXLL is automatically available in Canopy’s Package Manager (starting with Canopy v. 1.3). Simply open Package Manager from the Canopy Welcome Screen, click on “Available Packages,” and select PyXLL from the list of packages to install.

Download for Standalone Installation

PyXLL is optimized for installation with Enthought Canopy, however we offer a download for other Python distributions. Please refer to the installation instructions and the PyXLL FAQs when installing with a distribution other than Canopy.

By downloading PyXLL, you acknowledge and accept the terms and conditions of its applicable license:

PyXLL Subscription Pricing

(You may purchase a quantity other than those below by adding PyXLL to your cart and adjusting the quantity.
Volume discounts will automatically be applied in the cart.)

Qty.Annual Price per LicenseVolume Discount (%)Total

Frequently Asked Questions

What are the benefits of PyXLL?

With PyXLL, everything you can do in Python, you can now do in Excel. Some of the benefits include:

  • Productivity: Python is a clean, powerful language with a large analytic library ecosystem that is particularly well-featured for scientific computing applications. With PyXLL you can leverage the full capabilities of all of the Python libraries within Excel, ranging from SciPy to Pandas and NumPy to matplotlib.
  • Automated external data integration: access data from real-time web databases, feeds, and more
  • Performance: it’s straightforward to access C++, Cython code and parallel processing from Python functions
  • Speed: build prototypes quickly, without the need to compile and restart on each iteration
  • Management: instead of embedded VBA models, organizations can manage their Python code centrally and load it on start up into each user’s local Excel platform, eliminating uncontrolled version proliferation
  • Reduced risk: code is stored in version control instead of embedded in Excel
  • Familiar platform: Excel becomes your GUI for live streaming dashboards and mathematical models, all within an interface familiar to end users
Is PyXLL available within / as a part of Enthought Canopy?

PyXLL is an add-on package that must be purchased separately from Enthought Canopy. Once purchased, PyXLL is available to be installed directly from the Canopy Package Manager.

Do you have to have Enthought Canopy to use PyXLL?

No, PyXLL works with all Python distributions that use Python 2.3 to 3.6 (CPython that is). However, installing PyXLL from Canopy’s package manager is much more straightforward than with other Python distributions. Canopy performs the Excel installation automatically, pre-configures the PyXLL config file, and runs other background checks to ensure a clean execution.

What versions of Excel does PyXLL work with? What versions of Python?

Recent versions of Microsoft Excel for Windows are supported, including Excel 2003, Excel 2007, Excel 2010, Excel 2013, and Excel 2016 (both 32-bit and 64-bit versions of Excel 2010, Excel 2013, 2016 are supported), and Excel 365. PyXLL is not available for Microsoft Excel for Mac.

PyXLL is designed to work with all versions of Python from 2.3 to 3.6. The standard CPython interpreter ensures compatibility with compiled C Python modules such as SWIG, Boost and Cython, as well as third party packages such as NumPy, Pandas and the rest of the SciPy stack.

Can PyXLL be used with OpenOffice, LibreOffice, Google Docs or other open source spreadsheet programs?

No, PyXLL can only be used with Microsoft Excel for Windows.

What versions of Windows are supported? Can I use PyXLL on a Mac or Linux OS?

PyXLL can be used on Windows 10, Windows 8.1, Windows 8, Windows 7, XP and Vista. PyXLL is not supported on the Mac OS or Linux. While Python itself is cross-platform, Excel is not really. It uses a very different architecture on Mac than on Windows, so it is not simple to port PyXLL to Mac.

For Mac or Linux users who wish to take advantage of PyXLL, you can use it (as many of us at Enthought do), in a Windows Virtual Machine such as Fusion. Your single PyXLL and Canopy licenses are good on as many physical and virtual machines as you use.

If I want to share my work with others will they also need to have PyXLL? Python?

Yes, all users who wish to view and recalculate values using the embedded Python functionality in Excel will need to have PyXLL, Python, and Excel loaded on their machines. We offer multi-user and site licenses at a significantly reduced cost to meet this need.

What happens if I send my spreadsheet to a user that does not have PyXLL or Python installed?

The results of the Excel computations, including those resulting from embedded PyXLL Python functions, are always stored in the Excel spreadsheet. If you disable auto-recalculation, you can share the spreadsheet in read-only mode. See the File > Options menu, Workbook Calculation (under Formulas in recent versions of Excel) > and select the Manual option.

I'm having problems installing or using PyXLL. What do I do?

Please start by consulting the PyXLL documentation and Knowledge Base. If you are using a Python distribution other than Canopy, you may also try downloading and installing with Canopy (free download). This has solved many installation problems.

For additional help, please email Please tell us your Windows version, your Excel version (including 32/64 bits), your Python distribution, your Python version (including 32/64 bits) and installation location, your PyXLL version and installation location, a link to the installation/usage instructions that you are following, and a description of exactly what happened.

How does PyXLL work?

PyXLL is an Excel add-in that enables functions written in Python to be called in Excel. Python functions can either be exposed as Excel user defined functions that can be called from worksheets, as custom menu items, or as macros.

Have a question not answered here?