Skip to content

EzXl

PyPI version Python versions PyPI status License CI Docs uv linter type checker tests

EzXl Logo

EzXl is a Windows-first Python library for live Excel automation, closed-file conversion, and workbook formatting.

🚀 Quick start

python -m venv .venv
.venv\Scripts\activate
pip install ezxl
python .venv/Scripts/pywin32_postinstall.py -install
uv add ezxl
uv run python .venv/Scripts/pywin32_postinstall.py -install
from ezxl import ExcelApp

with ExcelApp(mode="dispatch", visible=False) as xl:
    workbook = xl.open("C:/reports/budget.xlsx")
    total = workbook.sheet("Summary").cell("B12").value  # (1)!
    print(total)
  1. Live COM automation requires Windows, Excel, and matching Python/Excel bitness.
from ezxl import read_excel, xlsx_to_csv

dataframe = read_excel("C:/reports/budget.xlsx", sheet="Summary")
xlsx_to_csv("C:/reports/budget.xlsx", "C:/reports/budget.csv")
print(dataframe.shape)

🚀 Fast path

Use the closed-file functions when you do not need a running Excel process.

✨ Key features

  • Excel COM lifecycle management through ExcelApp, WorkbookProxy, and SheetProxy
  • Closed-file read and conversion flows through polars, fastexcel, and xlsxwriter
  • Closed-file formatting through ExcelFormatter and openpyxl
  • Swappable GUI surfaces through GUIProxy and backend protocols
  • Optional GUI navigation helpers for pywinauto-backed keystrokes and Backstage access

📚 Documentation

Section Description
Getting started Install ezxl and complete a first workbook read in a few minutes.
Concepts Design rationale behind the package split and backend strategy.
Guides Task-oriented recipes for installation, development, and testing.
API reference Curated overview of the public Python API.
CLI reference Command and option tables for the ezxl executable.
Examples Copy-paste-ready snippets for common automation and I/O scenarios.
Architecture Generated import graph and structural overview.
Coverage Coverage report page generated from coverage.xml.
Changelog Release notes generated from Conventional Commits.

📋 Requirements

  • Python 3.11 or later
  • Windows for COM automation and GUI helpers
  • Microsoft Excel installed only for live COM scenarios
  • Matching Python and Excel bitness for COM automation

⚖️ License

EzXl is distributed under the MIT license. See LICENSE.