如何使用 CSV 檔案比對
- 將較早的匯出資料選為檔案 A,較新的資料選為檔案 B;兩檔都須有標題列。
- 選取共同欄位作為主鍵。可忽略匯出時間等不需要追蹤的欄位,但主鍵不能同時忽略。
- 產生預覽,先檢查各類變更數量與前 50 筆差異,再下載完整報告。
先確認一個主鍵只對應一筆資料
每個商品只有一列時,可只用 SKU;同一 SKU 分布於不同倉庫時,請加選倉庫欄位。比對採精確匹配,A-10 與 a-10 不同,前後空白也有意義。任一主鍵儲存格空白,或同一組主鍵出現兩次,工具都會停止,不會任選一列或默默覆寫。
記錄數與報告列數為何不同?
摘要計算變動的記錄數,下載報告則將每個修改欄位各列一行。一項商品同時改了價格與數量,代表一筆修改、兩列差異。key_1、key_2 依主鍵勾選順序排列;新增與刪除記錄附完整列的 JSON。來源缺少某欄,與該欄存在但內容為空不同,工具會提醒欄位結構不一致。
不要把篩選差異當成商品異動
兩份資料應來自相同商店、倉庫範圍與狀態條件。「刪除」也可能只是新版匯出時排除了該商品。忽略欄位後,該欄的變化不會形成修改記錄;新增及刪除的完整列 JSON 仍包含來源欄位。先備份原檔,再決定如何處理差異,勿將報告直接當作商店匯入模板。
CSV 格式與安全匯出
請使用逗號分隔且標題唯一、非空白的 CSV。支援引號內逗號、跳脫引號、引號內換行、CRLF 與 UTF-8 BOM,略過全空白列。請自行選對編碼,非 UTF-8 不會自動猜測。解析及運算在瀏覽器 Worker 執行,預覽僅列前 50 筆,下載包含完整結果。輸出上限同為 100,000 列、100 欄、100 萬儲存格及 32 MiB;大量欄位差異或合併可能較早觸及保守記憶體限制,屆時請減少欄位或分檔。
匯出使用 UTF-8 BOM 與 CRLF 換行。儲存格若在空白或控制字元後以 =、+、-(ASCII 減號)、@ 開頭,或一開始就是 Tab 或換行,會加上單引號;標題也適用。負數因此可能被當成文字。這會改變有公式風險的原值,畫面會顯示受保護的儲存格數,請保留原始檔。