About this project

xlfn is a framework designed to create native Microsoft Excel XLL add-ins using Rust. It abstracts the Excel 12 / XLOPER12 ABI, allowing developers to write worksheet functions as typed Rust functions. The framework handles function registration, value conversion, runtime lifecycle management, and XLL packaging. Key capabilities include: - Native support for both 32-bit and 64-bit Excel without requiring a .NET runtime. - Support for various API types, including synchronous, asynchronous, and streaming (RTD) APIs. - Infrastructure for stateful calculations, including formula-owned typed handles and calculation caches. - Runtime safety features such as panic containment and lifecycle transition management. - Integrated deployment tooling via `cargo-xlfn` for building, validating, and packaging XLL files. - Formal verification of lifecycle and shutdown protocols using Lean 4. The project focuses specifically on native worksheet functions and calculation infrastructure; it does not provide support for Ribbon UI, task panes, or general Office automation.