Skip to content

EzXl

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

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.
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.
Concepts Design rationale behind the package split and backend strategy.
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.