# qax-os/excelize

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/qax-os-excelize).**

20,302 stars · 1,872 forks · Go · bsd-3-clause

## Links

- GitHub: https://github.com/qax-os/excelize
- Homepage: https://xuri.me/excelize
- awesome-repositories: https://awesome-repositories.com/repository/qax-os-excelize.md

## Topics

`agent` `ai` `analytics` `chart` `ecma-376` `excel` `excelize` `formula` `go` `mcp` `microsoft` `office` `ooxml` `spreadsheet` `statistics` `table` `vba` `visualization` `xlsx` `xml`

## Description

Excelize is a library for reading and writing spreadsheet files in the Office Open XML format. It provides a comprehensive suite of tools for programmatically creating, modifying, and analyzing workbooks, worksheets, and cell data, ensuring compatibility across various office software suites through structured XML serialization.

The library distinguishes itself with a built-in formula calculation engine that evaluates complex mathematical and logical expressions directly against workbook data. It also features a memory-mapped streaming architecture, which allows for the efficient processing of massive spreadsheet files by handling data in chunks, thereby maintaining low memory usage during document manipulation.

Beyond basic file operations, the project supports advanced document features including style-driven formatting, conditional rules, and the embedding of graphical elements like charts and pivot tables. It also provides security capabilities, allowing users to encrypt and decrypt protected spreadsheet files to manage sensitive information.

The project is implemented in Go and is available for integration into applications requiring automated spreadsheet generation, data import and export, or complex document transformation.

## Tags

### Data & Databases

- [Spreadsheet Generation Libraries](https://awesome-repositories.com/f/data-databases/spreadsheet-generation-libraries.md) — Provides a comprehensive library for reading and writing spreadsheet files while preserving data, styles, and formatting.
- [Data Import and Export](https://awesome-repositories.com/f/data-databases/data-import-and-export.md) — Transfers structured information between database systems and spreadsheet formats to facilitate bulk data migration. ([source](https://xuri.me/2015/04/06/config-postgresql-and-laravel.html))
- [Spreadsheet Automation](https://awesome-repositories.com/f/data-databases/spreadsheet-automation.md) — Provides a comprehensive suite of tools for programmatically creating, modifying, and analyzing spreadsheet data. ([source](https://xuri.me/2019/12/11/talks-at-beijing-gopher-meetup.html))
- [Spreadsheet Generators](https://awesome-repositories.com/f/data-databases/spreadsheet-generators.md) — Provides programmatic creation and modification of spreadsheet files. ([source](https://xuri.me/2021/08/30/5th-anniversary-of-the-excelize-open-source.html))
- [Spreadsheet Processing Engines](https://awesome-repositories.com/f/data-databases/spreadsheet-processing-engines.md) — Embeds and maintains graphical charts and pivot tables within spreadsheet documents. ([source](https://xuri.me/2016/08/30/excelize.html))
- [Data Serialization and Parsing](https://awesome-repositories.com/f/data-databases/data-serialization-and-parsing.md) — Parses and generates spreadsheet documents including XLSX, XLSM, and XLTM formats. ([source](https://xuri.me/2022/04/15/go-shared-libraries.html))
- [XML Spreadsheet Parsers](https://awesome-repositories.com/f/data-databases/xml-spreadsheet-parsers.md) — Parses Office Open XML spreadsheet formats to enable programmatic interaction with complex document structures and embedded assets.
- [XML Serialization Formats](https://awesome-repositories.com/f/data-databases/data-serialization-formats/xml-serialization-formats.md) — Encodes spreadsheet data into structured XML schemas to ensure compatibility and interoperability across office software suites.
- [Spreadsheet Visualizations](https://awesome-repositories.com/f/data-databases/data-visualization-charts/spreadsheet-visualizations.md) — Supports embedding graphical elements like charts and pivot tables, as well as applying conditional formatting to spreadsheet data.
- [Memory-Mapped File Access](https://awesome-repositories.com/f/data-databases/data-access-querying/memory-mapped-file-access.md) — Features a memory-mapped streaming architecture for efficient processing of massive spreadsheet files with low memory usage.
- [Buffered Input Output Managers](https://awesome-repositories.com/f/data-databases/data-buffering/buffered-input-output-managers.md) — Accumulates data in intermediate buffers to reduce expensive system calls during high-volume write operations. ([source](https://xuri.me/2017/08/06/io-multiplexing-in-linux.html))
- [Data Visualization Charts](https://awesome-repositories.com/f/data-databases/data-visualization-charts.md) — Embeds graphical representations of data including charts and pivot tables to summarize information within spreadsheets. ([source](https://xuri.me/2021/08/30/5th-anniversary-of-the-excelize-open-source.html))
- [Chart Preservation](https://awesome-repositories.com/f/data-databases/data-visualization-charts/chart-preservation.md) — Maintains existing charts and visual elements when modifying spreadsheet files to ensure data integrity. ([source](https://xuri.me/2015/10/24/assessment-of-open-xml-library.html))
- [Pivot Table Aggregators](https://awesome-repositories.com/f/data-databases/table-data-processing/pivot-table-aggregators.md) — Aggregates and groups large datasets into summary tables using configurable statistical functions. ([source](https://xuri.me/2019/12/11/talks-at-beijing-gopher-meetup.html))
- [Data Models](https://awesome-repositories.com/f/data-databases/data-models.md) — Maps database tables to application objects for structured data interaction. ([source](https://xuri.me/2014/08/03/laravel-e-commerce-with-alipay-dualfun-develope-part-ii-creating-models.html))
- [Spreadsheet Styling](https://awesome-repositories.com/f/data-databases/spreadsheet-generators/spreadsheet-styling.md) — Supports style-driven formatting and conditional rules to decouple data content from presentation metadata.

### Scientific & Mathematical Computing

- [Spreadsheet Formula Engines](https://awesome-repositories.com/f/scientific-mathematical-computing/formula-evaluators/spreadsheet-formula-engines.md) — Evaluates complex mathematical and logical expressions directly against workbook data using a built-in engine. ([source](https://xuri.me/2021/08/30/5th-anniversary-of-the-excelize-open-source.html))

### Security & Cryptography

- [Workbook Encryption](https://awesome-repositories.com/f/security-cryptography/sensitive-data-access-controls/workbook-encryption.md) — Protects sensitive spreadsheet data by applying encryption to the workbook file to restrict unauthorized access. ([source](https://xuri.me/2021/08/30/5th-anniversary-of-the-excelize-open-source.html))
- [Document Security Tools](https://awesome-repositories.com/f/security-cryptography/security/utilities/document-security-tools.md) — Provides encryption and decryption capabilities for protecting sensitive spreadsheet files and managing access to workbook data.
- [Encryption](https://awesome-repositories.com/f/security-cryptography/encryption.md) — Encrypts files for specific recipients and restores access to encrypted content using private keys. ([source](https://xuri.me/2015/11/29/use-gpg-to-encrypt-and-sign-messages.html))
- [Data Encryption](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption.md) — Protects sensitive information by transforming plaintext into ciphertext using public and private key encryption. ([source](https://xuri.me/2015/08/01/rsa-encryption-decryption-on-php.html))

### Software Engineering & Architecture

- [Streaming Processors](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/large-dataset-optimizations/streaming-processors.md) — Processes massive spreadsheet files using memory-efficient streaming modes to maintain low memory usage.
- [Large Dataset Optimizations](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/data-handling-throughput/large-dataset-optimizations.md) — Ships memory-efficient streaming modes for processing massive spreadsheet files without loading them entirely into memory. ([source](https://xuri.me/2021/08/30/5th-anniversary-of-the-excelize-open-source.html))

### Development Tools & Productivity

- [Mathematical Calculators](https://awesome-repositories.com/f/development-tools-productivity/mathematical-calculators.md) — Provides a built-in formula calculation engine that evaluates complex mathematical and logical expressions directly against workbook data.

### User Interface & Experience

- [Conditional Formatting](https://awesome-repositories.com/f/user-interface-experience/text-formatting/conditional-formatting.md) — Applies visual rules to automatically change cell styling based on underlying data values. ([source](https://xuri.me/2021/08/30/5th-anniversary-of-the-excelize-open-source.html))
