xlwings Features

Features that aren't part of the Open Source package are marked with PRO

Scripting: Automate Excel on Windows and macOS

xlwings allows you to write Python scripts to automate Excel on Windows and macOS. For this functionality, you don’t need to install any Excel add-in. Work with the whole data science universe, including pandas DataFrames and plotting libraries such as Matplotlib or Plotly.


UDFs: User-defined functions (Windows-only)

Define powerful UDFs (a.k.a. custom functions) in Python and call them directly from Excel cells. You can leverage the new native dynamic arrays in Excel that go hand in hand with NumPy arrays or pandas DataFrames.


Interact with Excel from Jupyter notebooks

Jupyter notebooks are a popular way of running Python code in the data science space. While you can use the full xlwings API, you may sometimes just need to look at a big DataFrame in a good old spreadsheet or load some ad-hoc data from a spreadsheet for a one-off analysis. In these cases, the view and load functions are helpful shortcuts.


Macros: RunPython function

Put a button on a sheet and build an intuitive user interface directly in Excel. Whether you want to build a tool to run a computationally intense calculation in Python, load data from a database or interact with an external API: you’re saving your users from having to click the infamous “Export to Excel” button: instead, they can play around with the data directly in Excel without error-prone copy/paste.

This functionality is often used as an alternative to Power Query when Power Query is missing a specific connector or if you need more flexibility, such as for web scraping, etc.

Macros are compatible across Desktop Excel on Windows and macOS, Excel on the Web (screenshot), and Google Sheets.


Custom Excel Ribbon Add-ins

If you need to to use the same functionality with different workbooks, it makes sense to build a Ribbon add-in instead of writing a macro tied to a specific workbook. Need to apply some AI algorithm on data of your active workbook? Just connect your Ribbon button to your Python script and be done with it.

Ribbon add-ins run on both Windows and macOS.


xlwings Reports PRO

xlwings Reports is a solution for template-based Excel and PDF reporting, making the generation of pixel-perfect factsheets really simple.

xlwings Reports allows business users without Python knowledge to create and maintain Excel templates on their own: instead of assigning the variable performance_table to a specific cell in the Python code, you can simply put the placeholder {{ performance_table }} in a certain cell of your Excel template.

Dynamic formatting and multi-column layouts are just some of the advanced features that xlwings Reports offers.


1-click installer & embedded code PRO

The #1 reason why VBA is so successful is the fact that users don’t need to install anything. Our 1-click installer brings back this experience! Build your 1-click installer in the cloud and hand it out to your end users:

  • Zero Python knowledge required from end users
  • No configuration required by end users
  • Usually, there are no admin rights required
  • Works for UDFs, RunPython calls and custom add-ins
  • Does not require the xlwings add-in being installed
  • Works for company external distribution
  • Easy to deploy updates as you can embed the Python code in the workbooks

Our GitHub-based build process only requires you to upload a requirements.txt file before you can download your installer.


xlwings File Reader PRO

The xlwings File Reader is the fastest Python reader on the market:

  • Works wherever Python runs: on Windows, macOS, and Linux
  • Doesn’t require an installation of Excel
  • 5-30x faster than pandas.read_excel() depending on your file format and sheet size
  • Supports all Excel file formats: xlsx/xlsm, xlsb, xls
  • Supports functionality not covered by pandas.read_excel(), including named ranges and the ability to read cell errors

xlwings Server PRO

Get rid of the biggest deployment friction by turning your xlwings tool or add-in into a web app—no local Python installation required! xlwings Server works with Desktop Excel on Windows and macOS as well as with Google Sheets and Excel on the web.

xlwings Server integrates with any web framework (FastAPI, Django, Flask, etc.) and works with Docker, AWS Lambda functions or literally any other way to deploy Python functions. You get all this with the same familiar xlwings syntax.