You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA QueryTable导入UTF-8编码CSV到Excel欧元符号乱码如何解决

解决方案

方案1:导入环节指定编码(从根源解决,最推荐)

乱码的核心原因是QueryTable默认使用系统ANSI编码解析UTF-8格式的CSV文件,属于编码错配问题,和单元格格式无关,调整导入参数即可解决:
在你原有创建QueryTable的代码中添加TextFilePlatform = 65001的配置,65001是UTF-8编码对应的代码页编号,参考示例:

With worksheet.QueryTables.Add( _
    Connection:="TEXT;" & 你的CSV文件路径, _
    Destination:=worksheet.Range("A1"))
    .TextFilePlatform = 65001 ' 新增这行指定UTF-8编码
    .TextFileCommaDelimiter = True
    ' 保留你原来的其他QueryTable配置项
    .Refresh
End With

导入完成后再执行你原来的格式设置代码worksheet.Columns("C").NumberFormat = "# €_)"即可正常生效。

方案2:已导入数据的快速修复

如果数据已经导入完成不想重新走导入流程,直接批量替换错误字符即可,执行一行代码就能完成修复:

' 把C列所有乱码字符替换为正常欧元符号
worksheet.Columns("C").Replace What:="Ôé¼", Replacement:="€", LookAt:=xlPart

替换完成后再设置C列货币格式即可正常生效。

内容的提问来源于stack exchange,提问作者giannisJS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:06:04