finds.dev

symmetryinvestments/xlsxd

A thin wrapper around libxlsx to write excel spreadsheets

View on GitHub

★ 19CBSD-3-Clauseupdated Feb 2025

// the take

A thin D-language wrapper around libxlsxwriter, the C library for writing (not reading) Excel xlsx files. It's for D developers who need to generate spreadsheets — reports, exports, data dumps — and want the C library's feature set without writing raw C bindings by hand.

Being a thin wrapper over libxlsxwriter means you inherit that library's actual feature set — charts, cell formats, data validation, images, merged ranges — rather than a reimplementation that might lag behind. Workbook is RefCounted, so the file gets flushed and closed deterministically on scope exit instead of requiring an explicit close() call that's easy to forget. libxlsxwriter is vendored as a squashed git subtree with a documented pull command, so updating the C dependency is a repeatable one-liner instead of manual patching.

It only writes files — there's no reading or editing of existing xlsx, so any workflow that needs to open, modify, and resave a spreadsheet means pulling in the separate `xlsx` package too and juggling two different APIs. There's no D-native API reference: the README tells you to mentally convert D method names into C function names (toLower(Datastructure)_toSnakeCase(methodName)) and go read the C library's docs, which undercuts a big part of why you'd want a wrapper in the first place. Adoption is thin (19 stars, 6 forks) and it looks maintained mainly for Symmetry Investments' internal use, so edge cases outside their use pattern may be under-tested. The CI badge points at Travis CI, which hasn't offered free OSS builds the way it used to for years — worth confirming the build is actually green rather than trusting the badge.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
19
Forks
6
Language
C
License
BSD-3-Clause
Last commit
14 Feb 2025

// nearby

If xlsxd isn't quite it.

All repos →