【发布时间】:2019-10-06 04:14:00
【问题描述】:
我想通过以下数据库连接在 Excel 2010 中使用 VBA 查询 UTF-8 编码的 CSV 文件:
provider=Microsoft.Jet.OLEDB.4.0;;data source='xyz';Extended Properties="text;HDR=Yes;FMT=Delimited(,);CharacterSet=65001"
所有 CSV 文件都以 BOM \xEF\xBB\xBF 和标题行开头。不知何故,BOM 没有被正确识别,第一列标题被读取为“?header_name”,即前面加上一个问号。我尝试过不同的字符集,也尝试过使用 Microsoft.ACE.OLEDB.12.0,但到目前为止一切都没有成功。
这是一个已知的错误,还是有什么方法可以在不更改源文件编码的情况下获得正确的第一列标题名称?
【问题讨论】:
-
您介意分享您的 UTF-8 编码的 CSV 文件吗
-
@EEM 每个简单的 csv 文件,如 a,b,c\n 0.1,0.2,0.3\n 开头的 \xEF\xBB\xBF 都有同样的问题。
-
1) 我很好奇只有
Microsoft.Jet.OLEDB.4.0的原因和 2)Connection:="TEXT;Path & Filename"根本不适用吗?
标签: excel vba csv utf-8 excel-2010