xllify is a packaging tool and runtime that allows you to write high-performance functions for Microsoft Excel in Lua and Python.
Write Lua or Python functions with your favourite editor or IDE
Export your functions into an Excel XLL with a single command
Load your add-in into Excel to start using your functions
$
xllify MyAddin.xll montecarlo.luau
finance.py
✓ Built MyAddin.xll (2.4 MB) in 0.6s
xllify is language agnostic. Currently, Lua and Python are supported.
xllify embeds a variant of Lua called Luau for safe, close to the metal integration with Excel. Your code is safely sandboxed with no access to the host computer. Luau has very strong numerical performance and is used by millions in Roblox and other well-known games.
xllify.fn({ name = "xllify.Hello" },
function(name)
return "Hello, " .. name .. "!"
end)
Python is the defacto choice for data analysis and machine learning. Python processes run externally and communicate with Excel efficiently through named pipes and shared memory. Repurpose your existing, tried and tested Python code in a few minutes without restriction.
@xllify.fn("xllipy.Hello")
def hello(name: str) -> str:
return f"Hello, {name}!"
Both Lua and Python deliver the performance needed for large,
mission-critical workbooks.
5000 calls to Python takes ~40ms and 5000 calls to Lua takes just
8.5ms, on an everyday laptop CPU (AMD Ryzen 5 5500U).
Give it a try →
Excel formulas aren't maintainable at scale. They're not reusable and it's easy to create a mess when they're duplicated.
Custom functions allow you to express logic and calculations as code.
Rather than grapple a tangled web of nested formulas (good luck
debugging that), you write functions in a traditional programming
language, and call them the same way you would call Excel's built-in
functions like SUM and XLOOKUP
There are several ways to create your own custom functions, but all have their own trade-offs.
Built from in-the-trenches experience, witnessing the common pain points developers and analysts face when developing custom functions, xllify aims to be a minimal boring tool whose remit is to:
Your functions get packaged into a single .xll file that's easy to deploy and manage. Licensing is per-XLL, not per-seat. You can distribute each XLL to unlimited users with no ongoing costs, ideal if you are an independent developer shipping a tool, a consultancy developing client solutions, or a business rolling out to thousands of users.
xllify is currently free for all users and will always be free for individuals. Email alex@xllify.com to arrange a demo, or have any questions.