finds.dev

jmcnamara/libxlsxwriter

A C library for creating Excel XLSX files.

View on GitHubHomepage ↗

★ 1,765CNOASSERTIONupdated Jul 2026

// the take

A C library for generating XLSX files from scratch — writing cells, formulas, charts, formatting, and images into a valid Excel 2007+ workbook. Useful for anyone generating reports from a C/C++ codebase (or via one of its many language bindings) without shelling out to Excel or pulling in a heavier dependency.

Genuinely minimal footprint: ANSI C, only depends on zlib, and compiles across GCC/Clang/MSVC/TCC/MinGW on Linux, BSD, macOS, iOS and Windows, 32/64-bit, big and little endian — rare portability discipline for a 2020s C project. Has a 'constant memory' mode that streams rows to disk instead of buffering the whole workbook, which matters if you're writing files with hundreds of thousands of rows. CI matrix backs up the portability claims with valgrind and Coverity runs plus an OSS-Fuzz harness, which is exactly what you want from a library parsing/writing binary-adjacent formats in C.

Write-only: there's no reading or editing of existing XLSX files, so you can't open a workbook, tweak it, and resave — it's generation only. Formulas are written as text with no evaluation engine, so cached values aren't computed by the library itself; depending on the consuming application, cells may show blank or stale results until Excel recalculates on open. It's effectively a single-maintainer project (same author as the Python xlsxwriter library), so bus factor is a real concern for anyone depending on it long-term. Being a C API, error handling and resource cleanup (closing the workbook, checking return codes) is manual and easy to get wrong compared to the ergonomics of higher-level bindings built on top of it.

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
1,765
Forks
385
Language
C
License
NOASSERTION
Last commit
7 Jul 2026

// nearby

If libxlsxwriter isn't quite it.

All repos →