jmcnamara/libxlsxwriter logo

jmcnamara/libxlsxwriter

Free

A C library for creating Excel XLSX files.

FreeFree tier
Type
Open Source

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