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。

相关

  • 项目
  • 项目
  • 项目
  • 项目