上周那个用纯 Rust 从零写 Word 的团队 ArtCraft,又出手了。这次的目标更大——他们把 Microsoft Excel 也重写了一遍,项目叫 GridCraft,上线 5 天同样冲到 3000+ star。

如果说 WordCraft 证明了"文档编辑器可以被干净地重写",那 GridCraft 面对的是 Office 里最难啃的骨头:公式引擎、数据透视表、图表、条件格式,每一个都是几十年堆出来的复杂逻辑。

这个项目是什么

GridCraft 是 ArtCraft 团队做的"干净室重写"(clean-room reimplementation):不看微软源码,只根据公开的 OOXML 规范和 Excel 的实际行为,用 Rust 独立实现一个电子表格。10 月 7 日创建,到 10 月 10 日已经发到 v0.5.0,迭代速度和 WordCraft 一样猛。

打开它你会恍惚:Ribbon 工具栏、编辑栏、名称框、工作表标签、填充柄、拖拽公式时彩色的引用高亮,连 Format Cells、Paste Special 这些右键菜单都在。会用 Excel 的人零学习成本。

XLSX 是它的原生格式,样式、主题、公式、表格、条件格式、数据验证、批注、超链接、图表、图片、迷你图、数据透视表、打印设置都能往返保存,CSV 和 TSV 也支持。一个 Rust 代码库同时跑在 macOS、Windows、Linux、BSD 上,还能编译成 WebAssembly 在浏览器里跑。没有订阅、没有许可证服务器、没有遥测。

打开网易新闻 查看精彩图片

GridCraft季度销售仪表盘:合计行、条件格式、迷你图、柱状图与饼图

公式引擎是最硬的部分

电子表格的灵魂是计算引擎,GridCraft 在这里下了重注。

它内置了 500 多个工作表函数,动态数组和溢出(spilling)完整支持,连 LET、LAMBDA、MAP、REDUCE、SCAN、BYROW、BYCOL、MAKEARRAY 这些现代 Excel 的高阶函数都有,结构化表引用(Table[Column] 那种写法)也支持。

底层是一个依赖图计算引擎:改一个单元格,只有真正依赖它的公式会重新计算,而不是整表重算。工作簿用写时复制(copy-on-write)存储,撤销快照几乎零成本;网格是虚拟化的,只布局屏幕上看得见的部分,大表滚动不卡。

数字格式语言完整复刻了 Excel 那套晦涩但强大的格式代码,排序、自动筛选、快速填充(Flash Fill)、数据验证、分级显示、分类汇总也都在。

打开网易新闻 查看精彩图片

成绩表:IFS函数算平均分和等级,A等级绿色高亮加数据条

数据透视表和图表都有

这是最让我意外的部分。很多开源表格软件做到公式就停了,GridCraft 把高级分析功能也啃了下来:

  • 数据透视表:字段列表面板、筛选器、行列布局、日期分组、"值显示方式"(show-values-as),能存进 XLSX 再读回来;
  • 图表:17 种图表类型,带 Chart Design 选项卡和格式窗格,选中图表时表格里会高亮它的数据源;
  • 条件格式:数据条、色阶、图标集、规则高亮,预算超支红色、完成率红绿灯色阶都能做;
  • 迷你图:单元格里的走势小折线;
  • 打印:分页预览(蓝色打印区域、虚线分页符、页码水印)、打印设置、PDF 导出。

打开网易新闻 查看精彩图片

数据透视表:按地区和产品汇总收入,右侧为字段列表面板

官方给了三个开箱即用的示例文件(销售、家庭预算、成绩表),File → New → Sample 就能打开,截图里那个季度销售仪表盘就是纯命令搭出来的。

最有意思的设计:给 AI 用的表格

和 WordCraft 一样,GridCraft 的每个操作都是一个带 ID 的命令,同一套命令同时驱动五种入口:Ribbon 点击、键盘快捷键、命令行工具、JSON 控制通道、MCP 服务器。

命令行可以直接算公式:

gridcraft-cli eval '=XLOOKUP("b",{"a","b"},{1,2})'# → 2

也可以无头批处理:打开预算表、把一片区域加粗、另存为新文件;或者用 cat 把指定区域导出成对齐的文本表。

MCP 服务器给 AI 提供了 read_range、write_range、set_cell、evaluate_formula、format_range、insert_chart、create_table、sort_range、filter 等工具,还有一个 execute_command 能触达 GridCraft 的全部命令。桌面版的控制通道更进一步,能真实模拟鼠标键盘、弹对话框、截图。

也就是说,你可以让 Claude 直接打开一份销售表、汇总数据、插入图表、调好格式、保存——全程不用碰鼠标。AI 还能读文档结构核对自己改对没有,不依赖截图猜界面。

打开网易新闻 查看精彩图片

深色模式与插入选项卡:透视表、图表、图片、形状、迷你图、批注

官方诚实得有点可爱

GridCraft 没有吹牛。README 直接给了三个数字:Ribbon 和菜单命令覆盖了 89%(290 项里的 258 项),工作表函数覆盖约 93%,但按深度加权、对照 Excel 重度用户真正依赖的能力,估算只有约 65%,距离第一个 alpha 版本大概还有 20% 的路。

几个明确的短板得说清楚:

  • 不支持 VBA 宏。官方不打算原样兼容 VBA,而是用自研的脚本录制功能替代,意味着你现有的 Excel 宏不能直接迁移;
  • 真实业务文件的验证还没做完。目前通过往返测试的 XLSX 主要是开发团队自己造的,还没用海量真实工作簿验证,保存后的文件在 Excel 里打开会不会弹"修复"提示也需要继续确认;
  • Power Query 这类高级数据导入、部分公式的细微行为差异还在路线图上;
  • 切片器、规划求解(Solver)、图表趋势线、真正的页面布局视图是接下来的重点。

顺便说个细节:Excel 为了兼容 1980 年代的 Lotus 1-2-3,至今把 1900 年当闰年(其实不是),重写公式引擎连这种"历史错误"都得复刻,否则老表格里的日期全错位。你就知道兼容 Excel 有多反人类了。

怎么试

GitHub Releases 页面有全平台安装包:Windows 的 MSI(x64/arm64/x86)、macOS 通用 DMG(签名公证)、Linux 的 AppImage/Flatpak/deb/rpm/tarball,甚至 FreeBSD 和可自托管的 WebAssembly 静态站。

有 Rust 环境也可以直接编译:

cargo run --release -p gridcraft -- --sample sales

架构是引擎优先的 Cargo 工作区,强制分层:从地址数值、公式解析、函数库、文档模型、依赖图计算、XLSX 读写、图表,到 egui 前端一共 L0 到 L7 七层,UI 是独立 crate,换掉界面不用动引擎。这种干净的分层也是它能同时做桌面、Web 和无头 MCP 服务的原因。

我的看法

ArtCraft 这套打法现在看清楚了:先用 PhotoCraft、FilmCraft 这些工具练手 Adobe 全家桶,再用 WordCraft、GridCraft、DeckCraft 平推 Office,全部 Rust、全部开源、全部给 AI 留好控制通道,git 提交记录里"Claude Opus 5.5"直接列为共同作者。

GridCraft 比 WordCraft 更能体现这套思路的价值。表格天然是结构化数据,AI 通过 MCP 读写区域、写公式、插图表,比在文档里改排版可靠得多——"帮我把这份销售表按地区汇总并生成柱状图"这种需求,命令式操作的成功率很高。

当然现在还是 pre-alpha,拿它打开财务部门发来的复杂工作簿另存发回,风险不小。但如果你想在本地跑一个不订阅、不联网、还能让 AI 直接操作的表格工具,或者单纯想学习一个现代电子表格引擎怎么从零搭起来,这个项目非常值得关注。

GitHub:https://github.com/storytold/gridcraft