{"repo":"AlexJReid/zigxll","free":true,"listed":false,"github":"https://github.com/AlexJReid/zigxll","clone":"git clone https://github.com/AlexJReid/zigxll.git","description":"A Zig framework for building Excel XLL add-ins including streaming data and Lua scripting support.","language":"Zig","stars":11,"topics":["excel","excel-custom-functions","finance","zig","zig-package","custom-functions","excel-udf","trading","xll","excel-rtd"],"license":"MIT","category":"trading","readme_excerpt":"zigxll A Zig framework for building Excel XLL add-ins including streaming data and Lua scripting support. Template repo Example project NATS pub/sub connector Documentation - Creating functions - types, options, returning strings/arrays, namespacing - RTD servers - pushing live data to Excel, using RTD from UDFs - Lua functions - writing Excel functions in Lua - How it works - comptime code generation, architecture Why XLLs XLL add-ins are native DLLs that run inside the Excel process with no serialization or IPC overhead. Excel calls your functions directly and can parallelize them across cores during recalculation. The catch: the C SDK dates from the early 1990s. Memory management is manual, the type system is painful, and there's almost no tooling. Microsoft themselves call it \"impractical for most users.\" Why Zig Zig's C interop and comptime make the SDK usable. You write normal Zig functions with standard types. The framework generates all the Excel boilerplate at compile time: exports, type conversions, registration, COM vtables for RTD. What Zig gives us: - No boilerplate - define functions with ExcelFunction() and macros with ExcelMacro() , framework handles the rest - Type-safe conversions between Zig types and XLOPER12 - UTF-8 strings (framework handles UTF-16 conversion) - Zig errors become #VALUE! in Excel. For specific errors ( #N/A , #DIV/0! , etc.), return XLValue.na() , XLValue.errDiv0() , etc. - Thread-safe by default (MTR) - Zero function call overhead — 200","default_branch":null,"files":null,"tree":[],"storefront":"/r/AlexJReid","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AlexJReid/zigxll/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}