xuri

Excelize

Officev0.0.1
By xuriUpdated 2026-05-11excelize@clawhub_xuri/excelize
Spreadsheets#Spreadsheets

According to AlphaMoat, as of 2026-09, Excelize has 951 downloads and 0 stars — ranked #5,050 of 5,078 AI skills overall, and #429 of 435 in Office.

Installs
131
Downloads
951
Stars
-
Overall Rank
#5,050
Top 100% overall · Top 99% in Office
PlatformInstallsDownloadsStarsComments
ClawHub ↗22941--
SkillHub ↗131951-—

Platforms count differently and update at different times.

What this skill does

excelize-py is a Python port of Go Excelize for XLAM, XLSM, XLSX, XLTM, and XLTX files, with read/write and streaming examples. Examples can create, save, or overwrite files at specified paths; verify paths and test on copies or disposable files before working with important spreadsheets. The installation command does not pin a version, so use a reviewed pinned version in a virtual environment when reproducibility or stronger assurance matters. Requires Python 3.9 or later.

Profile published 2026-10-29

What you can do with it

  • Developers who need to read, modify, or create Excel workbooks from Python.

When to use it

  • Check input and output paths and test on copies first. For reproducible installation, review and pin the dependency version in a virtual environment.

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Show how to read a worksheet cell in Python and explain how to avoid overwriting the original file; do not open or modify any files.

Monthly Trend

Downloads951
1865971.0K2026-03 · Downloads 2432026-05 · Downloads 4832026-06 · Downloads 5742026-07 · Downloads 7852026-08 · Downloads 8502026-09 · Downloads 95126-0326-09
Stars-
0112026-03 · Stars -2026-05 · Stars -2026-06 · Stars -2026-07 · Stars -2026-08 · Stars -2026-09 · Stars -26-0326-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-09951—-
2026-08850+8.3%-
2026-07785+36.8%-
2026-06574+18.8%-
2026-05483—-
2026-03243—-

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

4.9 KB · ClawHub v0.0.1
---
name: excelize
description: Use when you need to reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets.
---

## Description

Package excelize-py is a Python port of Go [Excelize](https://github.com/xuri/excelize) library, providing a set of functions that allow you to write and read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and writing spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports complex components by high compatibility, and provided streaming API for generating or reading data from a worksheet with huge amounts of data. This library needs Python version 3.9 or later. The full API docs can be found at [docs reference](https://xuri.me/excelize-py/).

## Basic Usage
Show all (169 lines)
### Installation

```bash
pip install excelize
```

### Create spreadsheet

Here is a minimal example usage that will create spreadsheet file.

```python
import excelize

f = excelize.new_file()
try:
    # Create a new sheet.
    index = f.new_sheet("Sheet2")
    # Set value of a cell.
    f.set_cell_value("Sheet2", "A2", "Hello world.")
    f.set_cell_value("Sheet1", "B2", 100)
    # Set active sheet of the workbook.
    f.set_active_sheet(index)
    # Save spreadsheet by the given path.
    f.save_as("Book1.xlsx")
except (RuntimeError, TypeError) as err:
    print(err)
finally:
    err = f.close()
    if err:
        print(err)
```

### Reading spreadsheet

The following constitutes the bare to read a spreadsheet document.

```python
import excelize

try:
    f = excelize.open_file("Book1.xlsx")
except (RuntimeError, TypeError) as err:
    print(err)
    exit()
try:
    # Get value from cell by given worksheet name and cell reference.
    cell = f.get_cell_value("Sheet1", "B2")
    print(cell)
    # Get all the rows in the Sheet1.
    rows = f.get_rows("Sheet1")
    for row in rows:
        for cell in row:
            print(f"{cell}\t", end="")
        print()
except (RuntimeError, TypeError) as err:
    print(err)
finally:
    # Close the spreadsheet.
    err = f.close()
    if err:
        print(err)
```

### Add chart to spreadsheet file

With Excelize chart generation and management is as easy as a few lines of code. You can build charts based on data in your worksheet or generate charts without any data in your worksheet at all.

<p align="center"><img width="650" src="https://github.com/xuri/excelize-py/raw/main/chart.png" alt="Excelize"></p>

```python
import excelize

f = excelize.new_file()
data = [
    [None, "Apple", "Orange", "Pear"],
    ["Small", 2, 3, 3],
    ["Normal", 5, 2, 4],
    ["Large", 6, 7, 8],
]
try:
    for idx, row in enumerate(data):
        cell = excelize.coordinates_to_cell_name(1, idx + 1, False)
        f.set_sheet_row("Sheet1", cell, row)
    chart = excelize.Chart(
        type=excelize.ChartType.Col3DClustered,
        series=[
            excelize.ChartSeries(
                name="Sheet1!$A$2",
                categories="Sheet1!$B$1:$D$1",
                values="Sheet1!$B$2:$D$2",
            ),
            excelize.ChartSeries(
                name="Sheet1!$A$3",
                categories="Sheet1!$B$1:$D$1",
                values="Sheet1!$B$3:$D$3",
            ),
            excelize.ChartSeries(
                name="Sheet1!$A$4",
                categories="Sheet1!$B$1:$D$1",
                values="Sheet1!$B$4:$D$4",
            ),
        ],
        title=[excelize.RichTextRun(text="Fruit 3D Clustered Column Chart")],
    )
    f.add_chart("Sheet1", "E1", chart)
    # Save spreadsheet by the given path.
    f.save_as("Book1.xlsx")
except (RuntimeError, TypeError) as err:
    print(err)
finally:
    err = f.close()
    if err:
        print(err)
```

### Add picture to spreadsheet file

```python
import excelize

try:
    f = excelize.open_file("Book1.xlsx")
except (RuntimeError, TypeError) as err:
    print(err)
    exit()
try:
    # Insert a picture.
    f.add_picture("Sheet1", "A2", "image.png", None)
    # Insert a picture to worksheet with scaling.
    f.add_picture("Sheet1", "D2", "image.jpg", excelize.GraphicOptions(
        scale_x=0.5,
        scale_y=0.5,
    ))
    # Insert a picture offset in the cell with printing support.
    f.add_picture("Sheet1", "H2", "image.gif", excelize.GraphicOptions(
        print_object=True,
        lock_aspect_ratio=False,
        offset_x=15,
        offset_y=10,
        locked=False,
    ))
    # Save the spreadsheet with the origin path.
    f.save()
except (RuntimeError, TypeError) as err:
    print(err)
finally:
    # Close the spreadsheet.
    err = f.close()
    if err:
        print(err)
```

## References

- Source Code: [github.com/xuri/excelize-py](https://github.com/xuri/excelize-py)
- Docs Repo: [github.com/xuri/excelize-py-docs](https://github.com/xuri/excelize-py-docs)
- PyPI: [pypi.org/project/excelize](https://pypi.org/project/excelize)

Popular in Office

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.