
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
-------------------------

.. figure:: _static/images/oosxl_structural.png
   :align: center

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...
