storytold/gridcraft
GridCraft: an open-source, clean-room spreadsheet (Microsoft Excel-style) in pure Rust. By ArtCraft.
GridCraft – an open‑source spreadsheet app written in Rust
What it is – GridCraft is a clean‑room re‑implementation of Microsoft Excel. It provides the familiar ribbon UI, formula bar, sheet tabs and keyboard shortcuts that Excel users know, but it is built from the ground up in pure Rust. The same code runs on macOS, Windows, Linux, BSD and, via WebAssembly, in a browser.
Key capabilities
- Full‑featured spreadsheet engine – a dependency‑graph calculator with dynamic‑array spilling, 500+ worksheet functions (including modern ones like LET, LAMBDA, MAP, REDUCE, SCAN, BYROW, BYCOL, MAKEARRAY) and support for structured table references.
- Excel‑compatible file formats – reads and writes native XLSX files (preserving styles, themes, formulas, tables, charts, PivotTables, comments, hyperlinks, etc.) as well as CSV/TSV.
- Rich UI features – dark mode, conditional formatting, colour scales, data bars, sparklines, 17 chart types, PivotTables, page‑break preview, PDF export, and a virtualised grid that only renders what is visible.
- Performance tricks – copy‑on‑write workbooks make undo cheap; incremental recalculation and a virtualised grid keep large sheets responsive.
- Agent‑native control – every UI action is exposed as a JSON command over an MCP (Multi‑Channel Protocol) server or via a CLI, enabling automation or AI agents to drive the app.
How to get started
- Build and run the desktop app with Cargo:
cargo run --release -p gridcraft. - Open sample workbooks (
--sample sales,budget,grades) or any existing.xlsxfile. - For the web version, build with Trunk (
trunk build --release) and serve the generated static files. - Use the
gridcraft-clitool to evaluate formulas, read/write ranges, or drive the app over the MCP control channel.
Architecture at a glance The project is a layered Cargo workspace:
- Core layers (L0‑L2) handle values, parsing, the formula lexer/parser, the function library, workbook model, and the calculation engine.
- Higher layers provide chart layout/rendering, the command engine, history/undo, UI (egui), and the MCP server.
- Separate crates for the desktop, CLI, and WebAssembly front‑ends keep the UI swappable.
Roadmap GridCraft is pre‑alpha, currently covering about 89 % of Excel’s ribbon commands and 93 % of its functions. Upcoming milestones include signed release builds, higher‑fidelity XLSX handling, performance on very large sheets, slicers, Solver, chart trendlines and a true page‑layout view.
Licensing
Dual‑licensed under MIT or Apache‑2.0, with all bundled assets listed in ATTRIBUTION.md. The project is community‑driven and welcomes contributors via its Discord.
All details above are taken directly from the repository’s README.
Related
- Project
- Project
- Project
- Project