View Categories

WooCommerce 商品批次匯入匯出:CSV 怎麼做才不出錯

1 分鐘閱讀

快速答案:WooCommerce 內建就有商品 CSV 匯入匯出(商品 → 全部商品 → 上方的「匯入」「匯出」)。不出錯的關鍵有三個:動手前先匯出一份當範本與備份;更新既有商品時一定用 ID 或 SKU 對應,並勾選「更新現有商品」;CSV 存成 UTF-8,別讓 Excel 改掉 SKU、電話、條碼的格式。大檔或定期更新再換 WP All Import。

為什麼會這樣 #

匯入工具只認欄位與識別碼。對不上既有商品的列,一律當成新商品建立——這就是「重匯一次商品變兩份」的由來。更新時有對應、內容卻留空的欄位,則可能把原本的價格或說明蓋成空白。

另一半的問題出在 Excel。它開 CSV 時常用錯編碼讓中文變亂碼,還會自作主張:開頭的 0 被吃掉(SKU、電話)、長條碼變成科學記號、看起來像日期的貨號被轉成日期。存檔後這些改變就寫死在檔案裡,匯入時整批跟著錯。

怎麼處理 #

  1. 動手前備份資料庫,並先匯出一份現有商品(勾選匯出所有欄位)。這份檔案既是備份,也是最準的欄位範本。
  2. 先拿三到五列測試,到前台確認價格、庫存、圖片、分類都對再跑整批;筆數多就切成每批幾百列。
  3. 更新既有商品:保留 ID 或 SKU 欄並勾選「更新現有商品」;只放要改的欄位,其他欄在對應畫面設為不匯入,避免空白蓋掉原資料。
  4. 編輯 CSV 用 Google 試算表,或在 Excel 用「資料 → 從文字/CSV」開檔,把 SKU、電話、條碼欄設成文字;存檔選「CSV UTF-8」。
  5. 格式照範本:可變商品是父商品一列、每個變化一列,變化列的「上層」欄填父商品的 SKU;屬性名稱與值要跟既有的完全一致。分類用「>」分層、逗號分隔多個。
  6. 圖片欄填的是網址,匯入時會一張張下載。圖片多就先用 FTP 把圖檔整批傳到網站上的資料夾再填網址;重匯時圖片沒變就別對應圖片欄,免得媒體庫長出一堆重複圖。
  7. 檔案上千筆、要定期從供應商檔案更新時,換 WP All Import:它能設唯一識別碼比對、只更新指定欄位、分批處理。「刪除檔案裡沒有的商品」這個選項要非常小心,只匯部分資料時開著它,其他商品會被刪光。零星改價格、庫存,則用表格式的批次編輯外掛直接在後台改。

我們實際遇過的情況 #

一個多國版本的產品型錄網站,客戶自己重新上傳某國的品項,結果新品項疊在舊的上面變成兩份——匯入沒對上既有資料的典型結果。這時先把多出來的那批清掉,再用識別碼比對重匯,別再疊一次。

一個商品筆數很多的型錄站,客戶定期給整份產品資料表,我們先跟上一版比對、只篩出新增與變動的列再匯入,後來整個流程改成表格式編輯外掛搭 WP All Import。另一家客戶匯出的資料用 Excel 開啟,電話開頭的 0 不見了,我們把匯出的電話格式調整成 Excel 也會照原樣顯示。

什麼時候該找人 #

一次要動上千筆商品,或匯入已經把資料弄亂(重複、價格被清空、圖片對錯商品)——這時先停手,別再匯第二次蓋上去,從備份或匯入紀錄回推比較快;考慮整站還原前,先讀還原會丟什麼。商品匯進去卻沒出現在商店,看商品上架了前台沒出現

常見問題 #

重新匯入後商品變成兩份? #

匯入時沒對上既有商品。勾選「更新現有商品」並用 ID 或 SKU 對應;沒有 SKU 的商品先補上再匯。

CSV 用 Excel 開,中文變亂碼、開頭的 0 不見? #

存成「CSV UTF-8」,SKU、電話、條碼欄設成文字;或改用 Google 試算表編輯後再下載 CSV。

內建匯入和 WP All Import 怎麼選? #

偶爾匯幾百筆用內建就夠;檔案上千筆、要定期更新或只更新特定欄位,再用 WP All Import。

想有人每月幫你顧著商品資料與網站:網站守護方案;要做供應商資料自動匯入:網站建置與整合