xlcalculator
Converts MS Excel formulas to Python and evaluates them.
Decision gist · record as of 2026-08-14
Yes, with conditions. The package is actively maintained, has no known vulnerabilities, and is suitable for production use in financial and data analysis workflows. However, high install friction and the gap since the last release warrant checking that your target Excel functions are supported and testing numeric precision on your specific workbooks before committing to it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Source installation may require a C compiler and development headers.
- High install friction: the package is distributed as a source tarball with no pre-built wheels.
License · maintenance · safety
MIT (permissive) — MIT license is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
last release 2023-02-06 (1285 days) · last repo commit 2026-04-13 · 162 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 147,546 downloads/mo, #11,061 on PyPI
Alternatives
Verify before relying
pip install xlcalculator
from xlcalculator import ModelCompiler
compiler = ModelCompiler()
model = compiler.read_and_parse_archive('workbook.xlsx')
evaluator = model.evaluator
result = evaluator.evaluate('Sheet1!A1')- Whether the package handles all Excel function types needed for your workbook, given documented limitations on array formulas and some function implementations.
- Performance characteristics when evaluating large workbooks or complex formula chains.
- Numeric precision behavior for edge cases beyond the documented floating-point discussion.
- Current state of function support, as the last release was 2023-02-06.
What it is and what it does
xlcalculator is a Python library that parses MS Excel workbooks and translates their formulas into executable Python code, then evaluates those formulas to produce results. It's a modernization of the koala2 library, designed for scenarios where you need to run spreadsheet calculations programmatically without requiring Excel itself. The library supports loading and saving workbook state, evaluating individual cells or named ranges, and extracting sub-portions of models for focused calculation.
The package supports a subset of Excel functions—including date/time, engineering, financial, and mathematical operations—but has known limitations: it does not support array formulas, some functions like EXP and DB are not implemented, and certain functions like VLOOKUP work only in exact-match mode. Numeric precision follows Excel's floating-point behavior where possible, though perfect parity is not guaranteed. The library is actively maintained and suitable for financial modeling, scenario analysis, and unit testing of spreadsheet logic.
Use it for
- Automate financial model calculations by loading an Excel workbook and evaluating formulas programmatically without Excel installed.
- Unit test spreadsheet formulas directly by parsing a workbook and asserting on cell values or named range results.
- Build scenario analysis tools that read Excel templates and re-evaluate them with different input values.
- Migrate legacy spreadsheet-based calculations into Python applications while preserving formula logic.
- Audit spreadsheet models by extracting and evaluating specific cell ranges or named definitions.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
The package is actively maintained, has no known vulnerabilities, and is suitable for production use in financial and data analysis workflows. However, high install friction and the gap since the last release warrant checking that your target Excel functions are supported and testing numeric precision on your specific workbooks before committing to it.
Install
xlcalculator on PyPI
Before you install
High install friction: the package is distributed as a source tarball with no pre-built wheels. Maintenance is active with recent commits, though the last release was in 2023 despite ongoing repository activity.
Requires Python 3.9 or later. Source installation may require a C compiler and development headers.
License in practice
MIT license is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
Quickstart
pip install xlcalculator
from xlcalculator import ModelCompiler
compiler = ModelCompiler()
model = compiler.read_and_parse_archive('workbook.xlsx')
evaluator = model.evaluator
result = evaluator.evaluate('Sheet1!A1')
Verify before relying
- Whether the package handles all Excel function types needed for your workbook, given documented limitations on array formulas and some function implementations.
- Performance characteristics when evaluating large workbooks or complex formula chains.
- Numeric precision behavior for edge cases beyond the documented floating-point discussion.
- Current state of function support, as the last release was 2023-02-06.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Actively maintained 1,285 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 147,546 / month, #11,061 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.9Topic :: Office/Business :: Financial :: SpreadsheetTopic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: MathematicsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: TestingTopic :: Software Development :: Testing :: UnitTopic :: Utilities |
Evidence: xlcalculator-0.5.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “excel formula evaluation python”
- xlcalculatorReads MS Excel files and translates Excel formulas into Python code…
- pycelPycel translates Excel spreadsheets into executable Python code that…
- formulasParses and compiles Excel formulas and workbooks into executable…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also formulas · pycel · xlwings · spire-xls · xlrd · xlrd3 · ssf · excelrd · python-calamine · powerfx