storytold/gridcraft
GridCraft: an open-source, clean-room spreadsheet (Microsoft Excel-style) in pure Rust. By ArtCraft.
GridCraft – 一款以 Rust 编写的开源电子表格应用程序
它是什么 – GridCraft 是 Microsoft Excel 的干净室重新实现。它提供 Excel 用户熟悉的 Ribbon 界面、公式栏、工作表标签与键盘快捷键,但完全以纯 Rust 从头构建。相同的代码可在 macOS、Windows、Linux、BSD 上运行,并可通过 WebAssembly 在浏览器中运行。
主要功能
- 功能完整的电子表格引擎 – 依赖图计算器,支持动态数组溢出、500 多个工作表函数(包括现代函数,如 LET、LAMBDA、MAP、REDUCE、SCAN、BYROW、BYCOL、MAKEARRAY)以及结构化表格引用。
- Excel 兼容的文件格式 – 读取与写入原生 XLSX 文件(保留样式、主题、公式、表格、图表、数据透视表、注释、超链接等)以及 CSV/TSV。
- 丰富的 UI 功能 – 深色模式、条件格式、颜色刻度、数据条、迷你图、17 种图表类型、数据透视表、分页预览、PDF 导出,以及仅渲染可见内容的虚拟化网格。
- 性能技巧 – 写时复制的工作簿让撤销更轻量;增量重新计算与虚拟化网格让大型工作表保持响应。
- 代理原生控制 – 每个 UI 动作都可通过对 MCP(多通道协议)服务器或 CLI 以 JSON 命令公开,让自动化或 AI 代理能驱动应用程序。
如何开始
- 使用 Cargo 构建并运行桌面应用程序:
cargo run --release -p gridcraft。 - 打开示例工作簿(
--sample sales、budget、grades)或任何现有的.xlsx文件。 - 对于网页版本,使用 Trunk 构建(
trunk build --release)并提供生成的静态文件。 - 使用
gridcraft-cli工具来评估公式、读取/写入范围,或通过 MCP 控制通道驱动应用程序。
架构概览 此项目是分层的 Cargo 工作区:
- 核心层(L0‑L2) 处理值、解析、公式词法分析器/解析器、函数库、工作簿模型与计算引擎。
- 较高层 提供图表布局/渲染、命令引擎、历史/撤销、UI(egui)与 MCP 服务器。
- 独立的 crate 用于桌面、CLI 与 WebAssembly 前端,让 UI 可替换。
路线图 GridCraft 目前为 pre‑alpha,涵盖约 89% 的 Excel Ribbon 命令与 93% 的函数。即将到来的里程碑包括签名的发布构建、更高保真度的 XLSX 处理、大型工作表的性能、切片器、Solver、图表趋势线与真正的页面布局视图。
许可
双重许可为 MIT 或 Apache‑2.0,所有随附资产列于 ATTRIBUTION.md。此项目由社区驱动,并欢迎通过 Discord 贡献。
以上所有细节皆直接取自存储库的 README。
相关
- 项目
- 项目
- 项目
- 项目