第一個 CSV
把 .csv、.tsv 或 .txt 放進來
第二個 CSV
你要核對的、比較新的那一份
不會上傳任何東西。檔案由這個分頁的 JavaScript 讀取,不會離開你的電腦 —— 沒有任何伺服器看得到,關掉分頁資料就沒了。
用文字比對來看 CSV,會安靜地出錯
大部分 CSV 比較工具骨子裡是文字比對:A 的第 1 列對 B 的第 1 列,然後往下走。 對原始碼來說完全正確,對匯出的資料來說則是安靜地錯,因為匯出檔會遇到兩件原始碼不會遇到的事:
- 順序會變。 同一份報表明天再跑一次,可能是另一種排序,或是上面多插了一列。 逐列比對就會把後面全部報成「已變更」,兩處真正的差異送到你面前時變成四千處。
- 欄位會位移。 有人在中間插了一欄,之後每一格都往右挪了一格。
用鍵值欄對應可以同時解決這兩件事:配對看的是那一欄的值,順序就不重要了; 比對是按標題名稱逐欄進行的,所以中間插入的欄位會顯示成「多了一欄」。
Big5、UTF-8 與 BOM
繁體中文的 CSV 編碼不只一種。舊系統匯出的可能是 Big5, Excel 用「CSV UTF-8」存出來的是帶 BOM 的 UTF-8, 從網頁下載的常常是不帶 BOM 的 UTF-8 —— 它們都叫「CSV」。分隔符號是 Tab 的也有。
這些是逐檔各自判斷的。兩份編碼不同、分隔符號也不同的匯出檔,仍然可以正確比對; 變成亂碼送過來的檔案會被解碼,而不是照著亂碼去比。如果你只需要這半件事, 修正 CSV 編碼 單獨就能做。
什麼算是差異
值會先去掉前後空白,再當成文字比較。對匯出資料來說這才好用 ——
0012 會保持 0012 而不會變成數字 12,
某一邊系統多加的一個空白也不會讓整份都變紅。引號會被正規化掉 ——
它是 CSV 的語法而不是資料 —— 換行符號也一樣:
同一份檔案在 Windows 和在 macOS 存出來,並不是兩份不同的檔案。
不會離開這個分頁
CSV 匯出檔通常就是整張客戶表、整份訂單紀錄,或是一次薪資計算。兩個檔案都是由你電腦上的 JavaScript 讀取,比對也在那裡完成。根本沒有送出的請求。
常見問題
兩個檔案排序不一樣,會有問題嗎?
不會 —— 鍵值欄就是為了這件事。配對看的是那一欄的值,不是列號。 只有在完全沒有識別欄、而順序本身就是資訊的時候,才切到「用位置」。
兩個檔案的編碼或分隔符號不同也可以嗎?
可以。每個檔案各自判斷,所以一份 Big5、分號分隔的匯出檔, 可以正確地跟一份帶 BOM 的 UTF-8、逗號分隔的檔案比對;判斷結果會顯示出來。
可以拿 CSV 跟 Excel 檔比嗎?
可以。兩個框也接受 .xlsx 和 .xlsm,活頁簿還能挑工作表。如果兩邊都是 Excel 檔, 比較兩個 Excel 檔 才是為此而寫的頁面。
檔案會被上傳嗎?
不會。打開開發者工具的「網路」分頁,再放一個檔案進來:不會出現任何一筆新的請求。
相關頁面
同一件事,在自己的電腦上做
TableDI 是一套完全在自己電腦上執行的桌面試算表工作空間。 匯入、整理、做成圖表 —— 什麼都不會上傳,也不用註冊帳號。
永久免費,不是試用 —— 不用帳號、不用信用卡。目前是 macOS,Windows 版準備中。付費版多了什麼。
2026-09-01 由 TableDI 團隊最後檢查。這一頁有錯嗎?告訴我們 —— 只有一個收件匣,由做 TableDI 的人自己看。