.luau ⇢ .xll

.py ⇢ .xll Coming Soon

The easiest way to create high performance Microsoft Excel custom functions.

View the action on GitHub Marketplace

xllify gives you high performance of the Excel C SDK from Luau and Python, while handling the entire build process on GitHub Actions. Scripts in, .xll out. Try it out by copying our template repo and pressing build! ⇢

Python Luau
  • Write Excel functions in Luau and Python. Luau has strong numerical perfomance and is used in Roblox and other well-known games. Python has a vast ecosystem, making it the choice of analysts and data scienists: leverage your existing code in minutes.
  • Fast execution. Every part of xllify is built to be fast. It uses Excel's C SDK, multithreaded recalculation (MTR) and shared memory for maximum performance. Combined with Luau's exceptional performance and Python's vast ecosystem, you get the best of all worlds.
  • Async functions Coming Soon Longer running functions, such as those that perform heavy computation, inferences or rely on network requests will not freeze Excel.
  • External functions Coming Soon In addition to Luau, you can implement your functions in any language that is supported by the SDK. External functions run outside of Excel. Shared memory is when passing large ranges back and forth to keep things spritely.
  • Zero dependencies. By default, everything is packaged into a single file (typically under 1MB) which is yours to distribute and deploy however you want, forever. Python dependencies, if used, automatically install.
  • Be productive in minutes. No wrestling with C++, Visual Studio versions, xlcall32.lib or arcane build configurations. Just feed xllify your scripts and get an .xll!
  • Develop anywhere. Test your functions on Mac, Linux, or Windows before deploying.
High performance
Luau functions deliver exceptional performance and safety. Code is precompiled and sandboxed, running inside the Excel process. Python (with other languages to come) run out of process for maximum flexibility. A single .xll can contain both Luau and Python functions.
Integrated with GitHub
Feed our GitHub Action some scripts and get back a ready-to-use XLL add-in in around 30 seconds. The returned .xll is yours to distribute however you wish, without limitation. The entire build process happens within your GitHub account.
Focus on your users
xllify uses C++ under the hood for maximum performance, while correctly managing memory, threads and handling the finicky build process. Anyone with scripting knowledge can write an add-in in a few minutes.

But why?

Formulas aren't maintainable at scale. They're not reusable and it's easy to create a mess when they're duplicated. Custom functions can be the answer, but every way to add them to Excel has trade-offs. VBA is single-threaded, hard to maintain and doesn't fit with modern development workflows. Office.js is quite slow and has a convoluted deployment mechanism. Microsoft's Python for Excel makes network calls for each calculation. Excel-DNA is open-source and truly excellent, but needs .NET expertise and a Windows environment to develop in. The original Excel C SDK is easily the fastest, but it is also low level and notoriously hard to use correctly.

xllify removes compromises. It overcomes the pain points of the C SDK by fusing it to a high level scripting language with strong numerical performance. It automates away the tricky build process. What's left? The easiest way of writing high performance custom functions.

Analysts and domain experts generally don't care about the technical nitty gritty. They just want to focus on solving real problems. xllify lets them do just that.

Read the introductory blog post