--- id: excelrd version: "3.0.0" license: BSD license_treatment: permissive maintenance: abandoned --- # excelrd — Library for developers to extract data from Microsoft Excel (tm) spreadsheet files License: permissive · Maintenance: abandoned · Downloads: 235.1K/mo ## What it is and what it does excelrd is a maintained fork of the xlrd library that restores compatibility with Python 3.9 and newer versions. The original xlrd stopped being updated and became incompatible with modern Python; excelrd solves that by providing the same API for reading Microsoft Excel .xls files. It extracts cell values, sheet metadata, and workbook structure while ignoring charts, macros, formulas, and other embedded objects. The package is a library for developers, not an end-user tool. It supports Python 3.7 through 3.11 and runs on CPython and PyPy. Installation is straightforward (no runtime dependencies), and migration from xlrd is as simple as changing the import statement. The maintainer notes that formulas are ignored (only their calculated results are extracted) and password-protected files are not supported. Use it for: - Migrate code from xlrd to a Python 3.9+ compatible library without rewriting spreadsheet reading logic. - Extract tabular data from .xls workbooks in data processing pipelines that must run on modern Python. - Read cell values, row/column counts, and sheet names from Excel files in batch data workflows. - Parse legacy .xls files in applications where upgrading to newer Excel formats is not feasible. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Extracts data from Microsoft Excel spreadsheet files (.xls format) for Python 3.7 and newer, addressing the incompatibility of the original xlrd library with Python 3.9+. Yes, if you need to read .xls files in Python 3.9+. The package is stable, has no security vulnerabilities, and carries a permissive BSD license. However, maintenance is abandoned (last release July 2023, 1133 days ago), so it will not receive bug fixes or feature updates. Use it only for legacy .xls support; for new projects, consider xlsx-capable alternatives. ## Install pip install excelrd uv add excelrd poetry add excelrd ## Installing excelrd License in practice: BSD-style license (permissive) means you can use, modify, and distribute the package freely in commercial and open-source projects with minimal restrictions. Quickstart: pip install excelrd import excelrd book = excelrd.open_workbook("file.xls") sheet = book.sheet_by_index(0) for row_idx in range(sheet.nrows): for col_idx in range(sheet.ncols): cell_value = sheet.cell(row_idx, col_idx).value Requires Python 3.7 or newer; designed for .xls files (legacy Excel format). Verify before relying: - Whether the package handles .xlsx (modern Excel) format or only legacy .xls files - Performance characteristics or limits when processing large spreadsheets - Completeness of API compatibility with original xlrd for existing codebases ## Package facts - License: BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: abandoned - Downloads: 235.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags read excel xls files python, extract data from spreadsheets, xlrd python 3.9 compatible, excel file parser library, workbook cell data extraction, spreadsheet-parsing, data-extraction [View on SkillFed](https://skillfed.io/packages/excelrd) · [View on PyPI](https://pypi.org/project/excelrd/)