explaingit

qax-os/excelize

📈 Trending20,591GoAudience · developerComplexity · 2/5ActiveLicenseSetup · easy

TLDR

Go library for reading, writing, and manipulating Excel spreadsheets (XLSX, XLSM, and other formats) with support for charts, images, and large datasets.

Mindmap

mindmap
  root((Excelize))
    What it does
      Read Excel files
      Write spreadsheets
      Add charts
      Insert images
    File formats
      XLSX
      XLSM
      XLAM
      XLTM
      XLTX
    Key features
      Multiple sheets
      Streaming API
      Chart types
      Image scaling
    Tech stack
      Go 1.25.0+
      ECMA-376 standard
    Use cases
      Data export
      Report generation
      Bulk processing

Things people build with this

USE CASE 1

Export data from your application into formatted Excel reports with multiple sheets and charts.

USE CASE 2

Read and process large Excel files using the streaming API without loading everything into memory.

USE CASE 3

Generate invoices, dashboards, or financial reports with embedded charts and images.

USE CASE 4

Bulk convert or transform Excel spreadsheets programmatically in batch jobs.

Tech stack

GoECMA-376

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you include the original copyright notice and license text.

In plain English

Excelize is a Go library for reading and writing Microsoft Excel spreadsheet files in the XLAM, XLSM, XLSX, XLTM, and XLTX formats. It supports files generated by Microsoft Excel 2007 and later, complies with the ECMA-376 Office Open XML standard, and requires Go version 1.25.0 or later. The library is BSD 3-Clause licensed. Core capabilities include creating and saving spreadsheets, reading cell values, working with multiple sheets, adding charts (with support for types such as 3D clustered column charts), inserting pictures with scaling and positioning options, and streaming API support for working with large datasets. Charts can be built from worksheet data or generated independently. Images in GIF, JPEG, and PNG formats can be inserted with options for scaling, offset, aspect ratio locking, and print settings. The library is installable via go get as github.com/xuri/excelize/v2. Full API documentation is available at go.dev and at xuri.me/excelize.

Copy-paste prompts

Prompt 1
Show me how to create a new Excel file with multiple sheets and add data to cells using Excelize.
Prompt 2
How do I insert a chart into an Excel spreadsheet using Excelize? Give me a working example.
Prompt 3
I need to read values from an existing Excel file and process them in my Go app. How do I do that with Excelize?
Prompt 4
How can I insert images into an Excel file with Excelize and control their size and position?
Prompt 5
Show me how to use Excelize's streaming API to handle a very large Excel file efficiently.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.