我通过以下命令通过 ODBC 连接 xlsx 文件:
"DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb);HDR=YES;IMEX=1;READONLY=TRUE;DBQ=C:\Temp\test.xlsx"
它工作正常,但是当文件中没有标题时,我总是缺少一行。 显然这是因为参数“HDR = YES”但我无法弄清楚如何禁用标题行。
我已尝试“HDR = NO”并将此参数保留 但没有效果。 我可以访问该文件,但我总是丢失第一行。
有人可以帮我吗?
谢谢!
答案 0 :(得分:0)
我做了一些研究。
如果您通过
等驱动程序打开 XLS 或 XLSX 文件"DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb);HDR=YES;IMEX=1;READONLY=TRUE;DBQ=C:\Temp\test.xlsx"
驱动程序完全忽略参数。 所以" HDR = NO" 无效。
显然,驱动程序使用注册表中的设置来确定第一行是否应该被解释为标题行。
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel
因此,如果您设置 FirstRowHasNames = 00 ,则不会跳过第一行。