Fast, read-only .xlsx parsing and fail-closed recalculation.
This repo is now centered on a pure in-house Rust engine. Runtime code must not depend on Microsoft Excel, COM, XLL, OfficeJS, LibreOffice, or paid workbook libraries.
- Speed
- Accuracy
- Workbook integrity
The engine never mutates customer workbooks in v1. APIs and CLI commands write
JSON results under outputs/, which is ignored by git.
Most spreadsheet tooling either gives up on Excel fidelity or depends on Excel itself. This project takes the opposite path: parse OpenXML directly, preserve workbook integrity, and fail closed when exact behavior cannot be proven.
The table detector is built for messy real-world workbooks where tables are often visual regions, not formal Excel table objects.
| Raw sheet | Detected regions |
|---|---|
![]() |
![]() |
![]() |
![]() |
The public screenshots above are rendered from complex external workbook
fixtures. Source workbook files are not committed, and published filenames and
documentation avoid source names. The gallery covers irregular trackers, wide
models, and market-layout sheets with dense side-by-side regions:
docs/accuracy.md.
Research notes on spreadsheet table detection, observed layout patterns, and
the next detector architecture are in
docs/research/region-detection-research.md.
Release CLI parse of an external complex .xlsx workbook on Apple M5 / Darwin
arm64:
| Metric | Time |
|---|---|
| Median | 33.840 ms |
| Mean | 36.198 ms |
| Min | 30.470 ms |
| Memory | 21.6 MB |
Raw hyperfine output is committed at
docs/benchmarks/hyperfine-complex-parse.json.
The input workbook is external, unnamed in the raw artifact, and not committed.
crates/engine: ZIP/OpenXML streaming parser, table detector, and fail-closed recalc core.crates/api: HTTP API.crates/cli:xlsxdevCLI.crates/bench: external corpus benchmark runner.research-archive/phase1-excel-engine: archived Excel/COM/XLL research.
cargo test
cargo run -p xlsxdev-cli -- parse path/to/file.xlsx --out outputs
cargo run -p xlsxdev-cli -- recalc path/to/file.xlsx --out outputs
cargo run -p xlsxdev-api -- --host 127.0.0.1 --port 8080 --out outputs
cargo run -p xlsxdev-bench -- --corpus /path/to/external/corpus --out outputs/benchExternal workbook corpora must be supplied by CLI/env and must never be committed.



