Overview

oosxl is a cross-platform C++ library for reading and writing Excel files, requiring no dependencies on the Excel application or any other third-party components. The library provides both C and C++ interfaces, enabling developers to easily integrate Excel file processing functionality using various languages and across various platforms.

Note

Both row and column are 1-based index, while other indexes are 0-based

Key Advantages of oosxl

✅ Cross-Platform Support (Windows/Linux/macOS)

  • Usable on Windows, Linux, and macOS

  • Usable on both 32-bit and 64-bit architectures

✅ High Speed, High Performance,

  • Low Memory Usage, suitable for big data processing

  • Capable of writing 8,000,000 numeric cells per second (on a 3.7 GHz CPU)

  • Reading a 1,000,000-row, 23-column Excel file only occupies 121M of memory (actual memory usage may vary depending on the file content).

  • Utilizes optimized algorithms for handling large Excel files

✅ No Excel Installation Required, Reduced Dependencies

  • No dependency on Microsoft Office or Excel

  • No need to install any runtime components

  • Pure code implementation, simple deployment

✅ Multiple Programming Language Interfaces

  • Native C/C++ interfaces

  • Easy integration into various development environments

oosxl Structure Diagram

_images/oosxl_structural.png

Functional Overview

oosxl aims for high performance, ease of use, and low memory footprint, including but not limited to the following features:

Supported File Formats

  • Supports Excel’s .xlsx format

Read/Write Operations

  • Create one or multiple documents

  • Write to one or multiple documents

Data Operations

  • Supports various data types: numbers, text(rich text), dates, Boolean values, error values, etc.

  • Custom number formats

  • Cell formatting(font, borders, color, alignment, etc.)

  • Defined Names

  • Merge cells

  • Manage tables within worksheets

  • Set formulas and read formula results

  • Worksheet protection and security features

  • more…