Cross-platform C library for reading and writing .xlsx files with minimal dependencies and a simple interface.
XLSX I/O is a cross-platform C library for reading and writing .xlsx files, the native format used by Microsoft Excel since 2007. It enables C and C++ applications to process spreadsheet data as simple data tables without requiring Excel to be installed, focusing on values rather than formulas or formatting.
C and C++ developers who need to integrate .xlsx file reading or writing into their applications, particularly those working on cross-platform projects or embedded systems where minimal dependencies are crucial.
Developers choose XLSX I/O for its minimal dependencies, cross-platform portability, and simple interface. It provides a lightweight, self-contained solution for spreadsheet I/O without the overhead of larger libraries or external dependencies like Excel.
XLSX I/O - C library for reading and writing .xlsx files
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Only requires expat and minizip/libzip, making it lightweight and easy to deploy without bloating the dependency tree, as stated in the README's goal section.
Designed to work on Windows, macOS, and Linux with support for various compilers like gcc, clang, and MinGW, ensuring broad usability across systems.
Reads worksheet data on the fly without buffering entire files and writes .xlsx files without pre-buffering, ideal for handling large datasets efficiently.
Offers clean interfaces with distinct libraries for reading and writing, and provides both iterative and callback-based methods for flexibility, as shown in the example code.
Explicitly ignores formulas, charts, graphics, and layout, focusing only on raw data values, which restricts use to basic data table operations.
When reading .xlsx files, the entire shared string table is loaded into memory, which the README warns can be large and problematic for big spreadsheets.
Supports only one worksheet per file and does not use shared strings for writing, reducing efficiency and flexibility for complex output needs.