工程評測:513/523 個 Excel 函數(shù),一個“誠實承認半成品”的 Rust 重實現(xiàn))
GridCraft 靜態(tài)工程評測513/523 個 Excel 函數(shù)一個“誠實承認半成品”的 Rust 重實現(xiàn)評測快照storytold/gridcraft84acf62項目定位純 Rust 編寫的 clean-room 電子表格/表格計算器支持 XLSX/CSV覆蓋桌面端與 WebAssembly數(shù)據(jù)指標Stars 4,646 | Fork 2,033 | 主語言 Rust | 協(xié)議 Apache-2.0雙許可 MIT OR Apache-2.0取證方式SafeNet 合規(guī)淺克隆檢出 30 個關(guān)鍵文件文件樹 411 項固定 commit84acf6293b1dc1fc09837524e035d674eb4d67412026-10-13 推送最新版本v0.6.12026-10-13生成時間2026-10-14作者Valhalla Matrix治理實驗室摘要GridCraft 在 GitHub 熱榜排名第 3Stars 4,646創(chuàng)建于 2026 年 10 月 7 日——距今僅一周。它實現(xiàn)了一個 513/523 個 Excel 函數(shù)的計算引擎支持動態(tài)數(shù)組、LET/LAMBDA、PivotTables、17 種圖表類型并且原生讀寫 XLSX 格式。但比這些功能數(shù)字更值得關(guān)注的是它的兩處“誠實”第一它公開承認自己約 50% 準備好用于真實工作第二它采用 clean-room 重實現(xiàn)從文檔和觀察中重建行為而非復制微軟代碼。本文從 clean-room 的法律邊界、四維治理基因的審慎解讀、與 IronCalc/Formualizer 的橫向?qū)Ρ取⒁约啊癆gent-native”架構(gòu)的設(shè)計邏輯四個維度拆解這個“一個人用 Claude 輔助挑戰(zhàn)微軟 Office”的項目的工程成色與選型邊界。所有結(jié)論僅來自可復現(xiàn)的源碼靜態(tài)證據(jù)不替代實際構(gòu)建、測試或運行驗證。一、它解決什么問題一個“誠實承認自己是半成品”的 Excel 替代品市面上多數(shù)“Excel 替代品”的宣傳話術(shù)是“功能全面、完全兼容、開箱即用”。GridCraft 的宣傳話術(shù)不同。它的 README 和第三方評測都明確地標注了邊界v0.6.1 是一個 alpha維護者估計約 50% 準備好用于真實工作。它不支持 VBA 宏不支持 Power Query.xls 文件的保真度有限只支持值和公式不支持格式和對象。一個敢于承認“我做不到什么”的工具比一個聲稱“什么都能做”的工具更容易建立信任。這種誠實不是營銷策略——它在 README 中發(fā)布了詳細的parity catalog對標清單約 89% 的 Excel 功能區(qū)命令已覆蓋513/523 個函數(shù)已實現(xiàn)并明確標注“約 50% 準備好用于真實工作”。二、clean-room 重實現(xiàn)法律邊界與技術(shù)代價2.1 為什么需要 clean-roomGridCraft 的定位是“Microsoft Excel-style 的 clean-room 重實現(xiàn)”。“Clean-room”在軟件工程中有明確的含義一個團隊在不查看原始源代碼的前提下僅從文檔、公開接口和觀察行為中重建功能。法律上這一實踐的核心依據(jù)是Computer Associates v. Altai1991判例——使用 clean-room 流程實現(xiàn)的程序被認定為不構(gòu)成侵權(quán)。對 GridCraft 而言clean-room 的法律含義是明確的它避開了微軟的代碼和許可約束可以以 MIT/Apache-2.0 雙許可開源同時保持與 XLSX 文件的讀寫兼容。2.2 clean-room 的工程代價但 clean-room 不是免費的。行為必須被重新發(fā)現(xiàn)而非復制。這意味著文件保真度的提升是漸進的而非一夜之間完成的。GridCraft 的實現(xiàn)路徑是從 Excel 的公開文檔和實際行為觀察中重建公式引擎、文件格式解析和 UI 交互模型。從靜態(tài)掃描的模塊拓撲可以看到kernel-abi-check是一個獨立的一級模塊根——這暗示了項目對 ABI 兼容性和格式校驗有專門的工程投入。examples和scripts模塊的存在說明項目對“可復現(xiàn)的驗證路徑”有明確的規(guī)劃。三、四維治理基因4/4 全觀測的審慎解讀基因維度觀測結(jié)果證據(jù)邊界說明modularityobserved8 個一級模塊根examples、kernel-abi-check、kernel-builder、kernel-port、kernels、kernels-common、nix-builder、scriptstestabilityobserved82 個測試文件線索覆蓋 Rust 端到端測試和 Python 示例內(nèi)核delivery_automationobserved17 個構(gòu)建/依賴文件包含Cargo.toml、pyproject.toml、Nix 構(gòu)建配置supply_chain_traceabilityobservedCargo.toml、pyproject.toml、kernels.lock機制4/4 全觀測衡量的是“信號是否存在”而非“質(zhì)量是否達標”。82 個測試文件對應 358 個源文件比例約 1:4.4在 Rust 項目中屬于健康水平。但測試覆蓋的具體范圍——特別是公式引擎的邊界用例、XLSX 格式的 round-trip 保真度、跨平臺兼容性——需要實際執(zhí)行驗證。語義詞匯線索集中在文件或網(wǎng)絡(luò) I/O77 次請求/路由線索僅 1 次、持久化/查詢線索 5 次。這印證了 GridCraft 的業(yè)務本質(zhì)它不是服務端應用而是一個圍繞文件讀寫、格式解析和計算引擎的本地桌面應用。四、架構(gòu)拆解依賴圖 寫時復制 虛擬化網(wǎng)格4.1 計算引擎依賴圖 增量重算GridCraft 的計算引擎是其“最強部分”。第三方評測將其描述為“一個依賴圖支持增量重算、動態(tài)數(shù)組和溢出”。能力實現(xiàn)工程含義依賴圖單元格之間的依賴關(guān)系被顯式建模修改一個單元格只觸發(fā)受影響的單元格重算增量重算只重新計算依賴圖中被標記為“臟”的節(jié)點大表編輯時的性能關(guān)鍵動態(tài)數(shù)組支持溢出spilling與 Excel 365 的動態(tài)數(shù)組行為對齊現(xiàn)代函數(shù)集LET、LAMBDA、MAP、REDUCE、SCAN、BYROW、BYCOL、MAKEARRAY覆蓋 Excel 近年新增的高級函數(shù)從靜態(tài)掃描的語義樣本可以看到kernel-builder/src/main.rs聲明了Init、Upload、CheckAbi、main、print_completions包含 4 個分支和 13 個循環(huán)。13 個循環(huán)說明構(gòu)建流程涉及大量的遍歷操作——遍歷函數(shù)簽名、遍歷依賴節(jié)點、遍歷平臺變體。CheckAbi的存在表明項目對跨平臺 ABI 兼容性有專門的校驗邏輯。4.2 寫時復制工作簿撤銷快照的“近乎免費”GridCraft 使用寫時復制Copy-on-Write工作簿。這意味著當你編輯一個單元格時不是直接修改內(nèi)存中的工作簿而是創(chuàng)建一個新的版本舊版本保持不變。工程收益是精確的撤銷快照的成本“近乎免費”——因為每個快照只是指向舊版本的一個指針而非完整的數(shù)據(jù)副本。這對于需要頻繁撤銷/重做的大表編輯場景是顯著的性能優(yōu)勢。4.3 虛擬化網(wǎng)格只布局屏幕上的內(nèi)容網(wǎng)格是虛擬化的——它只布局屏幕上可見的單元格而非工作簿中的所有單元格。這意味著一個包含 100 萬行的工作簿其渲染開銷與屏幕分辨率相關(guān)而非與數(shù)據(jù)量線性相關(guān)。4.4 Agent-native每一個 UI 動作都是一個命令這是 GridCraft 最獨特的架構(gòu)決策。每一個功能區(qū)按鈕、菜單項、對話框、鍵盤快捷鍵和鼠標手勢都被暴露為一個可供外部進程調(diào)用的命令——通過 JSON 控制通道、MCP 服務器或無頭 CLI。這意味著一個 AI Agent 可以像 Playwright 驅(qū)動 Web 應用一樣驅(qū)動電子表格。README 中提供了一個將 GridCraft 接入 Claude 的一行命令claude mcp add gridcraft -- gridcraft-cli mcp。五、橫向?qū)Ρ菺ridCraft vs IronCalc vs FormualizerRust 生態(tài)中并非只有 GridCraft 一個電子表格引擎。以下是三個可對比項目的核心差異維度GridCraftIronCalcFormualizer定位完整電子表格應用電子表格引擎庫嵌入式電子表格引擎函數(shù)覆蓋513/523未公開400前端原生桌面 WASM多種語言綁定Rust/Python/WASM核心優(yōu)勢完整的 Excel 風格 UI Agent-native最小依賴、高代碼覆蓋率Arrow 驅(qū)動、百萬公式 0.38 秒成熟度Alpha約 50% 就緒開發(fā)中活躍開發(fā)許可MIT OR Apache-2.0Apache-2.0MITIronCalc的定位是“現(xiàn)代、輕量、魯棒的電子表格引擎用 Rust 編寫最小依賴、高代碼覆蓋率、良好文檔”。它更像一個可嵌入的引擎而非完整應用。Formualizer的定位更聚焦于性能“一百萬個公式0.38 秒”在 52 個工作簿的基準測試中中位耗時約為 LibreOffice Calc 的四分之一48 個測試中更快。GridCraft 的差異化在于“完整應用 Agent-native”它不僅有計算引擎還有完整的 Excel 風格 UI、圖表、PivotTables以及將每一個 UI 動作暴露為命令的架構(gòu)設(shè)計。六、給技術(shù)負責人的三周驗證清單第一周環(huán)境與最小工作簿從 Snap Store 安裝sudo snap install gridcraft確認版本為 v0.6.1創(chuàng)建一個小型工作簿測試基礎(chǔ)公式SUM、AVERAGE、IF和動態(tài)數(shù)組FILTER、SORT打開一個真實的 Excel 文件XLSX驗證樣式、公式、條件格式的 round-trip 保真度記錄首次加載耗時和內(nèi)存占用第二周核心功能與邊界驗證測試 513 個已實現(xiàn)函數(shù)中的 10 個高級函數(shù)LET、LAMBDA、MAP、REDUCE驗證行為是否與 Excel 一致測試 PivotTables創(chuàng)建一個透視表保存為 XLSX用 Excel 打開驗證兼容性測試 Agent 驅(qū)動通過 CLI 或 MCP 服務器執(zhí)行一個“創(chuàng)建表格→添加公式→導出 XLSX”的完整流程重點驗證確認 VBA 宏和 Power Query不被支持——如果你的工作簿依賴這些功能GridCraft 不適用第三周生產(chǎn)就緒與選型評估評估“50% 就緒”的邊界你的使用場景是否落在那“未就緒的 50%”中確認許可Apache-2.0 允許商業(yè)使用但需要保留版權(quán)聲明評估替代方案如果你的需求是“嵌入計算引擎”而非“完整應用”IronCalc 或 Formualizer 可能是更輕量的選擇關(guān)注項目活躍度項目創(chuàng)建僅 7 天需要觀察后續(xù)維護節(jié)奏是否穩(wěn)定七、結(jié)語GridCraft 用純 Rust 和 clean-room 重實現(xiàn)構(gòu)建了一個 513/523 個 Excel 函數(shù)的電子表格應用。它的計算引擎依賴圖 增量重算、寫時復制工作簿、虛擬化網(wǎng)格都是工程上合理的架構(gòu)決策?!懊恳粋€ UI 動作都是命令”的 Agent-native 設(shè)計是這個項目最獨特的工程貢獻。但“513 個函數(shù)”不等于“513 個函數(shù)都經(jīng)過生產(chǎn)驗證”。項目維護者自己承認約 50% 準備好用于真實工作不支持 VBA 宏和 Power Query.xls 文件的保真度有限。最終判斷GridCraft 適合作為技術(shù)研究、Agent 驅(qū)動的電子表格實驗、以及輕量級數(shù)據(jù)整理的起點。如果你的工作簿依賴 VBA、Power Query 或復雜的 .xls 格式它不適用。在做出選型決策前請完成第六節(jié)的三周驗證——特別是用你的真實工作簿測試 round-trip 保真度。版權(quán)聲明本文基于開源項目淺克隆靜態(tài)源碼證據(jù)僅供技術(shù)學習與工具評估參考。項目功能以官方倉庫為準。