TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南
TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南

Diff Excel 是開源免費的 Excel 比對工具,把兩份試算表的差異逐格標成紅色並輸出報告與文字清單。實際跑過它的比對核心後整理出三個盲點:插入列會連環誤報、公式換掉但結果相同完全看不見、顯示格式不同也算差異,下載前一起看懂它的邊界。
用 AI 摘要這篇文章:
對方交回來的報表到底改了哪裡?這個問題在很多工作裡每個月都會出現一次。會計核對帳、採購比價、專案經理確認合約試算,最後都會落到同一個畫面:兩份長得很像的 Excel 並排,A 欄對 A 欄往下看,看到第三十列的時候眼睛已經花掉。對方一句「只有幾個數字不一樣」,通常就是災難的開始。
Excel 本身沒有順手的答案。土法煉鋼是在旁邊空一格寫比對公式,把兩邊的值用判斷式逐格掃過去,表一大維護起來很痛苦;微軟確實有一套 SpreadSheet Compare,但它綁在企業級的 Office 授權裡,Mac 版 Excel 和 Google 試算表更是連類似功能都沒有。這類需求丟去搜尋引擎,跑出來一排線上工具和教學,真正敢把公司檔案丟進去、又願意裝來用的沒幾個。GitHub 上因此一直有人做這類小工具,Diff Excel 是裡面看起來最像「拿得出去」的一個:537 顆星、MIT 授權、Go 語言寫的桌面程式,Windows、macOS、Linux 都有現成安裝檔。
我把它的原始碼全部讀完,大約一千七百行;自己做了兩份測試檔去驅動它的比對核心,把三種比對模式都跑過一遍;也把 v1.1.0 的 Mac 版實際裝起來開過。結論先講:如果你的表是固定版型,想知道的就是「哪個格子被改了」,它免費、全本機運作,值得直接裝。如果你的檔案會增列刪列,或你在意的是公式有沒有被動過,先看懂下面三個盲點再決定。
Diff Excel 的核心邏輯一句話就能講完:把兩份檔案的工作表攤開,同樣座標的格子互相比對,內容不一樣就標色。差異格會填上新值、蓋上你指定的顏色,也可以勾選備註功能,把舊值留在儲存格註解裡,滑鼠點過去就看得到原本的數字。高亮顏色可以自己填色碼,想要顯眼一點的橘色或黃色都行。輸出固定兩份:一份帶高亮的 Excel 報告,加上一份純文字清單,每行記一個差異的位置、舊值與新值,總差異數則顯示在程式的執行紀錄裡,兩個輸出檔會存進以時間命名的資料夾,不會蓋掉你的原始檔。

程式裡其實留了三套比對引擎。現在介面走的是自由配對模式,一組一組把舊表和新表配起來;勾選多工作表之後會切換成另一套一對一映射的引擎,把兩邊勾選的表逐組配上;最早期的單表引擎還留在程式碼裡,但介面已經不會叫到它,只剩測試檔在用。這種疊床架屋對使用者沒有影響,卻說明了這個專案的長法:功能是往上加的,舊程式沒有拆。
它支援一次配對多組工作表,舊檔的 A 表對新檔的 B 表也行,報表換過名字或換過位置都配得上。全部處理都在本機完成,我把原始碼整份搜過,找不到任何對外連線的程式碼,拿去比對薪資表或報價單,檔案不會離開你的電腦。這一點和Compare2Word 這類標榜不上傳的線上比對工具剛好是光譜兩端:一個是裝在自己機器上的程式,一個是把隱私承諾寫進條款與程式碼裡的網站,在意資料流向的人可以照自己的信任習慣選。
介面用 Fyne 框架寫成,操作流程就是選兩個檔案、把要比的工作表配成對、挑高亮顏色、按開始。要提醒的是全部文字都是簡體中文,從按鈕到錯誤提示都是,看慣繁體的人得稍微適應一下。

我做了兩份測試檔去跑它的比對核心。舊檔是一張五列的訂單表,新檔只做了三個編輯動作:在中間插入一列新訂單、把一個金額從 250 改成 260、把一個狀態改成已取消。另外埋了兩個陷阱:一格數字相同但顯示格式不同,一格公式換掉但算出來的值一樣。
結果它回報十個差異格。真正的編輯只有三個,其中九格來自插入那一列之後整排資料往下位移,同座標比對把下面每一列都當成了改動,連「舊檔沒有第五列、新檔多出第五列」這種新增,也拆成一格一格的差異。這是座標對齊的天性:在它眼裡沒有「這一列是新插入的」這回事,只有第 3 列對第 3 列、第 4 列對第 4 列。版型會動的表,位移會把差異清單灌水,你拿到報告後還得自己再過濾一遍。刪除列是同一件事的鏡像:舊檔比新檔多出來的每一列,一樣會往下連環誤報。反過來說,只要兩份檔的列數不動,它就是又快又準的逐格覆核器。
另一個盲點在公式。它讀的是格子裡算出來的值,公式本身不在視野裡。我那格從 =B2+100 換成 =B2*2,兩邊算出來都是 200,結果這格完全沒有標出來。也就是說,有人把成本的計算式整個換掉、但剛好結果相同,這個工具會安靜地放它過去。審計場景要看的是公式有沒有被改,這條路它走不了。
還有一個盲點出在顯示格式。同一個數字 100,一邊設成兩位小數顯示 100.00,一邊是一般格式顯示 100,數值明明相同,它照樣回報差異,我的測試裡這格就真的被標成紅色。理由跟上面同一條:它比的是顯示出來的字串,所以貨幣符號、百分比、日期格式任何一邊動過,都會列進差異。實務上的解法是在比對前,先把兩份檔的數字與日期格式統一,可以少掉一大堆假差異。
預設的自由配對模式會重新組一份活頁簿,裡面只有你配對過的工作表,沒配到的會直接消失。多工作表勾了保持格式之後,則是整份複製舊檔再改,沒配對到的工作表會停在舊版內容,新版的數字不會更新進去;我的測試裡,未配對的那頁在報告中顯示的還是舊版字串。兩種模式都會出現「開起來少一頁」或「看到舊資料」的困惑,配對時記得把該比的頁都配上。從程式碼看,自由配對模式即使勾了保持格式,也是逐值重組工作表,只搬儲存值、欄寬、列高、合併與樣式,圖表、資料驗證這類物件不會跟著過去。
還有兩個小刀口。一是公式會扁平化:報告裡原本算出 200 的那格,存的是固定字串 200,公式不見了,這份報告只能看,不能接著往下用。二是勾了備註之後產出的檔案,我用 Python 常用的 openpyxl 套件去解析會直接失敗,原因是註解裡的顏色代碼長度不符合 xlsx 檔案規格;我手邊沒有 Office 可以驗證開檔畫面,但只要你的下游有腳本要讀這份報告,這個組合要特別留意。
三個平台的安裝檔都沒有簽署。Mac 版我實際驗過,系統判定它是一個完全沒有簽名的程式,直接雙擊,Gatekeeper 會把它攔下來,得用右鍵選單或系統設定手動放行;而且它是 Intel 版本,Apple Silicon 的 Mac 要靠 Rosetta 轉譯,我這邊實測可以正常啟動,介面反應也流暢。Windows 那顆 50MB 的 exe 同樣未簽署,第一次執行的 SmartScreen 警告要自己認;Linux 版是一顆 33MB 的裸執行檔,下載大約五百次,Mac 的 dmg 則三百出頭,四千多次的下載幾乎都集中在 Windows。專案 issue 裡剛好有兩條無人回覆的回報,一條標題寫著 Mac 資源無法使用,另一條附圖說 Windows 開啟時出現提示,對照下載數超過四千次的 exe,看起來都是卡在這道關卡的人。不想跟安全設定搏鬥的話,它是 Go 專案,自己編譯一顆也是一條路,README 的跨平台編譯說明寫得算清楚。
時間軸很集中:2025 年 8 月 11 日建立專案,三個版本在兩週多內連發,8 月 27 日的 v1.1.0 是最後一版,最後一次提交停在 2025 年 9 月 30 日,而且只是改 README,到今天約十一個月。兩位使用者留下三條 issue,其中一條反映工作表太多、挨個配對很麻煩,希望能加一鍵全選,這條有人附和,三條作者都沒有回覆。
比較有意思的是 2026 年 8 月中,有人前後兩次送出同一個功能的拉取請求,想讓它接受命令列參數,直接登記成 Git 的外部比對工具,讓版控流程裡的 xlsx 變更一鍵打開比對;一個被關閉,另一個還在等審。也就是說還有人想救它,但正式版 v1.1.0 沒有命令列,Git 整合目前裝不到。README 上「高效能、支援大型檔案處理」是作者自己的說法,我沒有實測大檔;從程式結構看它是單執行緒,預設開啟的保持格式模式下每個差異格都會新建樣式物件,差異一多速度與檔案大小都要自己留意。倉庫自帶的測試在新複製下來的環境直接崩潰,測試內容也只檢查輸出檔有沒有生成,工程嚴謹度就是一個人 side project 的水準;作者帳號底下也確實只有這一個公開專案。授權是 MIT,商用、修改、再散布都沒問題,授權檔就在倉庫根目錄。
第一次跑之前有幾個準備動作能省掉大部分麻煩。兩份檔先把數字與日期的顯示格式統一,前面提到的格式假差異就會少一大半;要比的頁全部配成對,不要比的頁先確認它在輸出裡的命運,免得報告少一頁還以為是工具壞了;輸出資料夾選一個自己找得到的位置,它會在裡面開一個以時間命名的新資料夾放結果,跟著原始檔放一起最好找。
適合的場景很明確:版型固定的表,每月對帳、合約試算、報表覆核,列數不增不刪,你想知道的就是哪些格子的值變了。這個情境下它免費、本機運作、MIT 授權,高亮報告直接可以轉寄給對方確認,文字清單也方便貼進郵件當逐項證據。
版型會動的活資料就繞路吧。要讓比對對插入刪除寬容一點,可以把內容匯出成文字,交給Diff Checker 這類支援 Excel 檔的線上比對工具,它們的文字模式天生會做行對齊;要驗公式變更,得靠試算表本身的版本歷史或專業工具。真想自己寫比對公式的人,Excel 裡以座標為核心的操作邏輯值得先熟,像OFFSET 函數動態範圍這類技巧,很多比對的坑最後都出在對座標的理解不夠。工具本身稱職,它認真解決的是其中一種問題:兩份靜態的表,一格一格對答案。