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
  • Functions are automatically included in the Excel Function Wizard with their python docstrings
  • Asynchronous functions in Excel 2010 and 2013
  • Thread-safe functions run across multiple threads from Excel 2010 onwards
  • Reload and test without restarting Excel
  • Built-in support for numpy datatypes
  • Customizable type system for handling non-standard datatypes
  • Use win32com 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