skillfed

pyexcel-xlsx

A wrapper library to read, manipulate and write data in xlsx and xlsmformat

pyexcel-xlsx v0.6.1 1.4M downloads/30d#3,955 on PyPI121
Permissive license New BSD Active released

What it is and what it does

pyexcel-xlsx is a lightweight wrapper around openpyxl that simplifies reading and writing Excel files in xlsx and xlsm formats. It abstracts away openpyxl's lower-level API, letting you work directly with Python dictionaries and lists instead of cell objects. The library is designed to be used standalone or as a plugin for pyexcel, the larger data-manipulation framework.

It uses openpyxl's read_only and write_only modes for efficiency, though this means fonts, colors, charts, and password-protected files are not supported. You can read and write to files on disk or in memory, and it supports pagination features for working with large spreadsheets by reading only a subset of rows or columns.

Use it for:

  • Extract data from xlsx files into Python dictionaries for data processing pipelines
  • Generate xlsx reports programmatically from Python data structures
  • Read partial data from large xlsx files using row and column limits to manage memory
  • Convert xlsx files to and from in-memory buffers for web uploads and downloads
  • Integrate xlsx handling into pyexcel-based data workflows without explicit imports

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Reads, manipulates, and writes xlsx and xlsm files by wrapping openpyxl's read_only and write_only modes, letting you work with Excel data as Python dictionaries and lists.

Yes. It has low install friction, active maintenance, permissive licensing, no known vulnerabilities, and solves a common task (xlsx I/O) cleanly. Install it if you need straightforward Excel file handling without styling or macro support.

Install

pyexcel-xlsx on PyPI

pip

pip install pyexcel-xlsx

uv

uv add pyexcel-xlsx

poetry

poetry add pyexcel-xlsx

Installing pyexcel-xlsx

Before you install

Low install friction with only two runtime dependencies (openpyxl and pyexcel-io). Actively maintained as of 2025-03-05 with recent repository activity.

License in practice

Licensed under New BSD (permissive), allowing use in commercial and proprietary projects without restriction.

Quickstart

pip install pyexcel-xlsx

from pyexcel_xlsx import get_data, save_data
from collections import OrderedDict

data = OrderedDict()
data.update({"Sheet 1": [[1, 2, 3], [4, 5, 6]]})
save_data("file.xlsx", data)

read_data = get_data("file.xlsx")

Verify before relying

  • Whether read_only and write_only mode performance characteristics are suitable for your file sizes and use case
  • Compatibility with specific xlsm file formats or macros beyond basic data read/write

Package facts

License New BSD (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 2 — openpyxl, pyexcel-io
Maintenance actively maintained — 527 days since the last release
Last repo commit
First released
Downloads 1,399,183/month — #3,955 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyexcel_xlsx-0.6.1-py2.py3-none-any.whl

Keywords: python, xlsx

Intended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries

Tags

read write xlsx files pythonexcel spreadsheet manipulationxlsx to dict conversionopenpyxl wrapper libraryxlsm file handlingexcel data extractionspreadsheet io library
excel-iodata-format

More Libraries packages