为什么 Excel 会弄坏你的商品 CSV,以及如何保存一个店铺能导入的文件

7 分钟阅读

你从店铺导出商品,用 Excel 打开文件,改了几个价格,然后保存。结果导入失败。更糟的是:导入成功了,可一半商品名变成了“涓枃”这样的乱码,每个条形码的末尾都变成了 0。

这不是你的错。Excel 是电子表格,不是 CSV 编辑器:打开 CSV 时,它会猜测每个单元格的含义;保存时,它按你的 Windows 区域设置来写文件,而不是按店铺的要求。下面说明会改变什么、如何避免,以及导入前如何检查文件。

1. 编码:“CSV”不等于 UTF-8

Shopify 和 WooCommerce 要求 UTF-8。但 Excel 普通的“CSV(逗号分隔)”选项会按 Windows 代码页保存:简体中文系统是 GBK,西欧是 Windows-1252。英文字母不受影响,但每个汉字都会变成店铺读不懂的字节。

在 Shopify 上,这常常显示为“Illegal quoting on line …”,尽管你的引号没有任何问题。WooCommerce 会提示文件使用了“a different encoding than UTF-8”。解决办法是在“保存类型”列表里选择以“CSV UTF-8”开头的类型。

2. 分号和小数逗号

在使用小数逗号的国家(欧洲大部分地区),Windows 把分号作为列表分隔符,Excel 导出的 CSV 也随之使用分号:24,90;12 而不是 24.90,12。如果你给欧洲的店铺或供应商处理文件,常会遇到这种情况:Shopify 会把整行读成一列并报告缺少表头;其他导入工具需要手动设置分隔符,而 24,90 对它们来说仍然不是数字。

“另存为”对话框里没有这个开关:它来自 Windows 的区域设置,而不是 Excel。对单个文件来说,事后替换分隔符和小数逗号更简单。

3. 保存后就去不掉的乱码

反过来也会出问题。双击一个没有字节顺序标记(BOM)的 UTF-8 文件,Excel 会按本地代码页读取它:“中文”变成“涓枃”。如果此时保存,乱码就会被永久写进文件,它现在是一个合法的 UTF-8 文件,内容就是“涓枃”。

看到这种情况时,请不保存直接关闭文件,改用“数据 > 从文本/CSV”打开(见下文)。如果已经保存,最可靠的办法是从店铺重新导出商品。

4. 条形码、EAN 和其他长数字

Excel 会把看起来像数字的内容都当作数字。像 6901234567892 这样的 13 位条形码会显示为 6.90E+12,如果在这种状态下保存,写进 CSV 的就是“6.90E+12”。以 0 开头的编码会丢掉开头的 0。超过 15 位的数字,末尾几位会被替换成 0,因为 Excel 最多只保留 15 位有效数字。

这些无法从保存后的文件中恢复,数字已经丢失。编辑前请把这些列设置为“文本”格式,或者从店铺重新导出商品。

5. 日期,以及看起来像日期的值

写成 2026-11-01 的促销日期会变成本地格式,例如 2026/11/1,而要求 YYYY-MM-DD 的平台会拒绝它。尺码和编码也会受影响:像 1-2 或 3/4 这样的值可能被变成日期,原始文本随之丢失。

如何在 Excel 中编辑 CSV 而不弄坏它

如果必须用 Excel,请导入文件而不是双击打开,并用正确的格式保存:

  1. 打开一个空白工作簿,选择“数据 > 从文本/CSV”。
  2. 把文件原始格式设为“65001: Unicode (UTF-8)”,并选择正确的分隔符。在预览中确认中文显示正常。
  3. 点击“转换数据”,把条形码、商品编码和日期列设为“文本”类型,让 Excel 不去改动它们。
  4. 进行修改。
  5. 通过“文件 > 另存为”保存,选择以“CSV UTF-8”开头的类型。
  6. 不要再双击打开保存好的 CSV 并重新保存:那样会抵消第 2 步和第 3 步。

导入前先检查文件

即使编辑得很小心,也可能留下问题:分号、不间断空格、末尾带空格的表头。ReportWise 的 CSV Fixer 在你的浏览器中读取文件,在店铺发现之前列出每个问题所在的行和列:

  • 识别编码(包括 GBK),并把文件保存为 UTF-8。
  • 把分号换成逗号,把价格列中的小数逗号换成小数点。
  • 修复“有机棉”这类乱码(UTF-8 被当作 Windows-1252 读取),还原为“有机棉”。
  • 标出被 Excel 变成 E+ 数字的 Amazon 商品 ID 和 Shoptet EAN,让你知道哪些需要重新导出。
  • 按照 Shopify、WooCommerce、Shoptet 和 Amazon 的规则检查表头和数值。
  • 检查免费,50 行以内的文件可免费修复。

修复商店无法导入的 CSV 文件

免费检查 · 50 行以内的文件免费修复 · 在浏览器中处理

检查我的文件

常见问题

为什么 CSV 在 Excel 里看起来正常,导入却失败?

因为 Excel 显示的是它对文件的理解,而不是文件本身。即使店铺会以不同方式读取这些字节,Excel 也会在自己的代码页中正确显示文字,而且从不显示分隔符、引号或编码。

Google 表格也有同样的问题吗?

部分有。从 Google 表格下载的 CSV 始终是 UTF-8、逗号分隔,这解决了编码和分隔符的问题。但导入文件时,Google 表格同样会转换数字和日期,除非你在导入对话框中关闭把文本转换为数字和日期的选项。

Excel 删掉的条形码数字还能找回吗?

从编辑过的文件中找不回,因为 Excel 保存的是四舍五入后的数字。请从店铺重新导出商品(或使用原始文件),并把该列作为文本导入。

检查时我的文件会被上传吗?

不会。CSV Fixer 在你的浏览器中读取、检查并修复文件,商品数据不会离开你的电脑。