Alternatives to Microsoft Python in Excel: 2026 Snapshot
Microsoft’s native Python in Excel is a managed cloud feature built around the PY function. Several other ways to run Python with Excel work differently, and comparing them only by “supports Python” hides the choices that decide whether a workflow will work: where Python executes, how it reaches workbook data, what packages it can load, whether it can create worksheet functions, and what another user receives when the workbook is shared.
This post compares the non-Microsoft options: Boardflare Python for Excel, xlwings Lite, and Anaconda Code, with external Python as the fallback when the job leaves the workbook. It was originally published July 15, 2026. The Anaconda Code and xlwings Lite entries were rechecked against their official documentation on October 12, 2026; the Boardflare details were checked against the 2026-10-03 runtime and the maintained Boardflare pages on October 12, 2026. Treat this as a dated snapshot and verify the linked documentation before making a deployment decision.
For the Microsoft side, see Microsoft Python in Excel vs. Boardflare Python for Excel, which covers the head-to-head comparison in depth. For the workflows these tools are used for, see What People Actually Use Python in Excel For.
Start with the execution model
Python + Excel
│
├── Browser / WebAssembly add-in runtime
│ ├── Boardflare Python for Excel
│ ├── xlwings Lite
│ └── Anaconda Code (Pyodide / WebR)
│
├── Local Excel add-in (Windows)
│ └── PyXLL (embedded Python interpreter; worksheet functions and macros)
│
└── Local / external Python
├── xlwings desktop/server patterns
└── pandas/openpyxl/COM/scripts
The execution model affects far more than performance. It determines the security boundary, package environment, access to local files and web APIs, workbook integration model, deployment requirements, and how much of the runtime the organization must manage. Microsoft’s Excel add-in platform overview and Office shared-runtime documentation explain the add-in side of that comparison.
Non-Microsoft options at a glance
| Dimension | Boardflare Python for Excel | xlwings Lite | Anaconda Code |
|---|---|---|---|
| Primary runtime | Browser / Pyodide | Browser / Pyodide | Excel add-in, running locally with Pyodide or WebR (WASM) |
| Primary code surface | Reactive marimo notebook | Scripts, custom functions, notebooks | Excel code cells |
| Separate local Python install | No | No for Lite | No external desktop Python required for Code |
| Interactive notebook surface | Reactive marimo notebook + optional App mode | Stateful .nb.py notebook + App Mode |
Code cells in the workbook |
| Worksheet custom-function model | BF.FUNCTION() (legacy Editor functions supported) |
Native custom functions | UDFs (@UDF in Python, UDF.register() in R) |
| Explicit application output registry | bf.publish() read by BF.OUTPUT() |
Workflow-dependent workbook writes/UDFs | Workflow-dependent |
| Package/runtime model | Pyodide/WebAssembly | Pyodide/WebAssembly | User-selectable Pyodide/WebR environment |
| Main design center | Reactive notebook connected to workbook data, outputs, and functions | xlwings-style automation, notebooks, scripts, and UDFs in browser | Python/R code cells and UDFs inside the Excel add-in |
The table intentionally omits pricing and fine-grained licensing. Those change too quickly to freeze into an article without frequent maintenance.
Boardflare Python for Excel
Boardflare uses a stock marimo reactive notebook running through Pyodide in the Office add-in browser environment. Workbook data enters through explicit bf.inputs(...) declarations. The notebook publishes named values and tables with bf.publish(), which worksheet formulas read with BF.OUTPUT(). Short callable Python functions are exposed to formulas with BF.FUNCTION().
Notebook source and startup preference are saved with the Excel workbook. The notebook is the primary authoring surface; optional Open as: App can present the same notebook more simply when an analysis becomes a repeatable tool.
Current product documentation: Python for Excel.
To see the pattern in a working workbook, the Custom Functions template calls Python functions from worksheet cells with BF.FUNCTION(), and the Sales Scenario Analysis template pairs a workbook with a Boardflare notebook.
Strengths
- one coherent reactive notebook rather than Python logic distributed across worksheet cells;
- explicit workbook input and published-output contracts;
- interactive notebook UI through marimo;
- published worksheet functions;
- source travels with the workbook;
- no separate desktop Python installation for workbook users.
Tradeoffs
Boardflare inherits browser/WebAssembly constraints. Some native Python packages and desktop/system integrations are not appropriate for Pyodide. The notebook child also uses a permanent connect-src 'self' CSP, so user-authored notebook code cannot make arbitrary external-origin requests.
Boardflare App mode is a presentation experience rather than a permissions or source-protection boundary, and recipients need the Python for Excel add-in when the workbook depends on Boardflare notebook execution. Recipients do not need a separate desktop Python installation, but an organization that blocks the add-in or its notebook runtime assets can stop the notebook from starting.
Current limits include up to 128 published outputs, 100,000 cells per output or function argument, a 60-second function timeout, and 8 active plus 128 queued function calls. Notebook source is limited to 200,000 UTF-8 bytes and each cell to 32,000 characters.
Best fit
Evaluate Boardflare when the Python work is substantial enough to benefit from a coherent notebook while Excel still matters to the workflow. App mode becomes relevant when that notebook also needs to serve as a simplified repeatable interface.
xlwings Lite
xlwings Lite runs in the browser and covers custom functions, automation scripts, .nb.py notebooks, package installation, web API access, testing, multiple workbook-stored source files, and an App Mode that can expose scripts to end users without showing the editor. Its August 2026 changelog entries add pinned dependency resolution (requirements-pinned.txt, generated from requirements.txt) for reproducible workbooks, and on Windows desktop, mounting a local directory through the add-in.
Official documentation:
Strengths
- familiar xlwings-style workbook programming model;
- browser runtime without requiring a normal desktop Python installation;
- custom functions and scripts;
- notebook workflow with regular
.nb.pysource files; - App Mode for end-user operation;
- direct workbook-object-model style programming;
- workbook-stored source files, dependency management, and pytest-oriented testing support;
- workbook-managed file import/export and, on Windows desktop, mounted local-directory access through the add-in.
Tradeoffs
The most important difference from Boardflare is not a missing checkbox. It is the programming model. xlwings Lite is organized around xlwings workbook APIs, scripts, custom functions, and a stateful notebook in which cells are run individually or in groups. Boardflare uses marimo’s dependency-reactive graph and emphasizes an explicit workbook-input registry plus explicit live output/function publication.
Teams choosing between them should prototype the real application rather than compare slogans such as “browser Python” or “app mode.” Host-dependent features also matter: local-directory mounting is available on Windows desktop even though Python itself runs through the add-in’s Pyodide environment.
Best fit
Evaluate xlwings Lite when you want xlwings-style automation and UDFs in a browser-based Excel add-in, particularly if the team already knows the xlwings API.
Anaconda Code
Anaconda Code runs Python or R locally inside Excel’s add-in environment using Pyodide or WebR, and you can choose the engine version. Its documentation describes code cells, a REF function that pulls worksheet ranges into code, and user-defined functions (@UDF in Python, UDF.register() in R). Each workbook has one self-contained environment, with packages added from PyPI, the PyScript app, or a direct .whl link for Python.
The documentation states that the Anaconda Code feature is currently in beta. Anaconda Code is a separate product from Microsoft’s Python in Excel feature.
Official documentation:
Strengths
- Python and R support;
- package control within the Excel experience, including PyPI and direct wheel installs;
- worksheet references through
REF; - user-defined functions;
- code and data stay in the workbook, with no cloud execution described in the documentation.
Tradeoffs
The product model is different from Boardflare’s notebook-centered workflow. Changing the environment can break existing code, and the documentation warns about possible version conflicts. Because Code is still in beta, organizations should verify current support, deployment, and sharing behavior before standardizing on it.
Best fit
Evaluate Anaconda Code when the priority is a Python or R coding environment inside Excel, with configurable packages, worksheet references, and UDFs.
When external Python is the better alternative
The three add-in products above are not substitutes for every Python/Excel workflow.
If the job needs:
- broad or unattended local folder traversal beyond an add-in’s supported host bridge;
- PDF/email processing;
- scheduled jobs;
- database pipelines;
- desktop application automation;
- unsupported native packages;
- large multi-workbook batch processing;
then an external Python environment may be the right answer. The workbook can remain the user-facing artifact without containing the whole runtime.
This distinction is visible in practitioner discussions: many successful “Python + Excel” automations use pandas, openpyxl, xlwings, COM, or scripts around Excel rather than Python executing in the workbook itself. The relevant external-runtime options have their own documentation: xlwings and openpyxl. PyXLL is different: a Windows add-in that embeds a local Python interpreter in Excel itself.
How to choose
Ask these questions in order:
1. What is the artifact?
- A few Python calculations in a workbook?
- A reusable custom function?
- An interactive application another person operates?
- A batch process that produces workbooks?
The artifact is more important than the language.
2. Where must the code run?
If the workflow needs local system access, a browser or cloud sandbox may be the wrong runtime before package choice even enters the discussion.
3. Who maintains the code?
A workbook sent to non-programmers has a different deployment problem from an analyst’s personal notebook.
4. What package and network boundaries apply?
Browser/Pyodide environments support a large Python ecosystem, including many scientific packages, but not every native dependency. Test the actual package set and external services early.
5. How does the second user open it?
This is the question product comparisons often skip. Test save/reopen behavior, required add-ins/licenses, startup, calculation, network access, and what the recipient sees when something goes wrong.
Bottom line
A useful shorthand is:
- Boardflare: a reactive Python notebook connected to workbook inputs, outputs, and functions, with optional App mode for a simplified interactive presentation.
- xlwings Lite: browser-based xlwings automation, scripts, notebooks, and custom functions.
- Anaconda Code: Python/R code and UDFs in a beta Excel add-in environment.
- External Python: the right answer when the workflow is really system automation or a data pipeline that happens to produce or consume Excel files.
If the question is specifically Microsoft’s native PY feature against Boardflare, use the Microsoft-vs-Boardflare comparison.
To try Boardflare on your own calculations, start from the Python in Excel template library.
The category will keep moving. The August 2026 xlwings changes alone show why feature checklists age quickly. That is why this article records a reviewed snapshot rather than pretending to be permanent product documentation.