Excel转CSV乱码与格式异常成因与规避指南
本文拆解Excel转CSV的5种常见问题成因,提供可验证的规避方案,帮助你解决中文乱码、格式异常问题。
更新于 2026-08-11
默认保存的编码机制与乱码成因
中文版Windows系统的Excel,默认按照系统区域编码GBK保存CSV文件。多数在线文本处理工具和现代程序默认读取UTF-8编码,编码不匹配直接导致中文乱码。
Excel自身打开GBK编码的CSV不会显示乱码,重新分发后其他软件打开就会出现乱码。更改保存选项无法直接切换为标准无BOM UTF-8编码,Excel 2016及更早版本无该选项。
UTF-8 BOM的作用与正确设置
UTF-8 BOM是文件开头的三个标识字节,能让Excel直接识别文件编码为UTF-8,避免中文乱码。标准无BOM UTF-8编码的CSV,Excel打开仍会出现中文乱码。
OKfmt编码转换工具可将GBK CSV转为带UTF-8 BOM的CSV文件,满足Excel读取要求,同时兼容现代程序的编码规范。
多工作表与内容转换的常见限制
Excel原生另存为CSV功能,仅会导出当前文件的首个可见工作表,其余工作表内容不会进入输出文件。需要导出多个工作表时,需分别激活工作表后单独导出。
Excel保存CSV时,会将单元格内的公式自动转换为当前缓存的计算结果,原公式不会保留。日期时间类型内容会按照当前单元格设置的格式序列化为文本,失去原日期属性。
- 原生导出仅保留首个工作表内容,其余工作表需单独导出
- 公式自动转为缓存计算值,原公式不保留
- 日期时间序列化为文本,失去原类型属性
不同区域格式的分隔符差异
Excel使用的分隔符跟随系统区域设置变化,欧洲部分区域的系统默认分隔符为分号,中文版Windows系统默认分隔符为逗号。
区域设置导致的分隔符不匹配,会让CSV内容合并到同一列,无法正常拆分。可在Windows控制面板更改区域分隔符设置,或通过格式转换工具统一分隔符类型。
| 系统区域 | 默认CSV分隔符 | 不匹配后果 |
|---|---|---|
| 中国大陆中文版 | 逗号 | 无异常 |
| 欧洲部分国家区域 | 分号 | 内容全部合并到单列 |
| 北美区域 | 逗号 | 无异常 |
常见问题
Excel 本身可以导出UTF-8 CSV吗?
Excel 2019及更新版本支持选择UTF-8编码保存,但输出为无BOM格式,Excel打开仍会出现乱码,需要添加BOM标识才能正常识别。
可以批量导出Excel多个工作表为单独CSV吗?
Excel原生功能不支持批量导出,需要使用VBA脚本或第三方格式转换工具实现,具体功能规则以工具官网当前公示为准。
转换CSV后公式丢失能恢复吗?
CSV格式仅支持存储纯文本内容,不支持保存公式结构,转换后公式已经转为计算值,无法从CSV文件恢复原公式。