产品 CSV 导入失败,经常不是“文件格式不对”这么简单。同一份文件可能通过文件检查,却在真正导入时因为属性选项、图片路径或关联商品数据失败。处理时最好保留 Magento 导出的样例文件,不要完全靠手工猜表头。

看到这些提示时,先查什么

Column names have duplicates
表头存在重复列,或不可见字符让两个字段看起来相同。用纯文本编辑器检查第一行,并确认文件编码为 UTF-8。

Invalid value for Attribute Set
CSV 中的 attribute_set_code 必须与后台属性集名称匹配。多余空格和大小写差异也可能造成失败。

Value for option does not exist
下拉、多选、颜色等属性的选项不存在。先在后台创建选项,或确认导入功能是否允许自动创建。多语言 Store View 的选项标签不要与默认范围混用。

图片列是另一个高发点

导入图片前,把文件放到配置允许的导入目录,并在 CSV 中填写正确的相对路径。Linux 区分大小写,Image.jpgimage.jpg 是两个文件。

常用图片列包括 base_imagesmall_imagethumbnail_imageadditional_images。图片文件损坏或 PHP 缺少图像扩展,也会在处理阶段报错。

新增、更新和替换不要选错

  • 新增/更新:适合日常维护,已存在 SKU 会更新。
  • 替换:可能用导入数据替换现有实体,风险更高。
  • 删除:按 SKU 删除商品,不适合用来“清理失败数据”。

第一次导入应先用 5–10 个商品在预发布环境测试。把简单商品跑通后,再处理可配置商品与子商品关联。

多选字段与分隔符

CSV 自身使用逗号分列,而多选属性和附加图片又需要内部多值分隔符。后台导入页面设置的 Multiple Value Separator 必须与文件一致,否则一串值会被当成一个不存在的选项。

导入成功以后

不要马上把文件扩大到几万行。先检查商品网站分配、状态、可见性、价格、库存和图片,再观察索引与 Cron 是否正常。若大文件超时,优先分批导入并检查 PHP、Web 服务器的上传与执行限制,而不是不断提高到无限值。