ACE.OLEDB 链接字符串:关于Excel导入的HDR=YES; IMEX=1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACE.OLEDB 链接字符串:关于Excel导入的HDR=YES; IMEX=1相关的知识,希望对你有一定的参考价值。

参数HDR的值:

HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
参数Excel 8.0
对于Excel 97以上版本都用Excel 8.0
IMEX ( IMport EXport mode )设置
  IMEX 有三种模式:
  0 is Export mode
  1 is Import mode
  2 is Linked mode (full update capabilities)
  我这里特别要说明的就是 IMEX 参数了,因为不同的模式代表著不同的读写行为:
  当 IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。
  当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。
  当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。
意义如下:
0 ---输出模式;
1---输入模式;
2----链接模式(完全更新能力)

 

  C#中使用Excel做表查询数据时遇到的问题

--------------------------------------------------------------------------------------------------------------------------------------------------------------- 

在HDR=NO时遇到

异常信息:至少一个参数没有被指定值。
异常对象:Microsoft Access Database Engine

推测

HDR=NO 即无字段
HDR=YES  即有字段,一般默认excel表中第1行的列标题为字段名 

如有不对请说明下。。

导致sql语句无法读取到列值,Excel中使用=CHAR(COLUMN()+64)获取到列名为A,B,C....但sql语句还是提示至少一个参数未被指定。

计划将数据直接读取存入datatable继续进行下一步操作,或将默认格式的excel文件数据添加到一个新的带有字段的文件中。


















以上是关于ACE.OLEDB 链接字符串:关于Excel导入的HDR=YES; IMEX=1的主要内容,如果未能解决你的问题,请参考以下文章

导入Excel 2013到vs,本机没有注册微软ACE.OLEDB.12.0

Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册“如果导入 (.xlsb) Excel 二进制格式文件

EXCEL文件导入时报_未在本地计算机上注册Microsoft.ACE.OLEDB.12.0提供程序

sql server导入Excel数据报错(microsoft.ACE.oledb.12.0异常)

使用 ACE OLEDB Provider 创建 Excel 文件的数据类型问题

excel ace.oledb vba 连接到 csv 只返回第一列