jmcnamara/libxlsxwriter
FreeA C library for creating Excel XLSX files.
FreeFree tier
About jmcnamara/libxlsxwriter
libxlsxwriter is a C library for creating Excel 2007+ XLSX files. It allows writing text, numbers, formulas, and hyperlinks to multiple worksheets with full formatting support. The library offers features such as merged cells, defined names, autofilters, charts, data validation with dropdown lists, conditional formatting, inserting images (PNG/JPEG/GIF), cell comments, macros, and a memory optimization mode for large files. It is cross-platform, works with many compilers (GCC, Clang, Xcode, MSVC, ICC, TCC, MinGW, etc.), and is distributed under the FreeBSD license with zlib as the only dependency.
Key Features
Write text, numbers, formulas, and hyperlinks to worksheets
Full Excel formatting (fonts, colors, borders, number formats, etc.)
Merged cells, defined names, and autofilters
Chart creation (bar, line, pie, etc.)
Data validation and dropdown lists
Conditional formatting
Insert worksheet images (PNG/JPEG/GIF)
Cell comments
Support for macros
Memory optimization mode for writing large files
Pros & Cons
Pros
- 100% compatible Excel XLSX files
- Full formatting support including charts, images, and conditional formatting
- Memory efficient for large files
- Free and open source under FreeBSD license
- Actively maintained with many releases (123 releases)
- Cross-platform and works with multiple compilers
Cons
- Only supports Excel 2007+ XLSX format (no .xls compatible)
- Write-only library, cannot read or modify existing XLSX files
- Requires C programming skills to use
- Dependency on zlib library
Best For
Generate Excel reports programmaticallyExport data from C applications to XLSX spreadsheetsCreate spreadsheets with charts and formatting for business intelligenceBuild dashboards with conditional formatting and data validationIntegrate XLSX output into scientific or engineering software