Bao*_*Bao 4 oledb excel connection-string
string strConn = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0 Xml;HDR=Yes;IMEX=1\";";
Run Code Online (Sandbox Code Playgroud)
我在谷歌上搜索,但没有得到任何结果.我认为默认值是2,但我不确定.
有人可以帮帮我吗?谢谢.
虽然我没有找到有关默认的信息,但@Bao的评论有助于解释IMEX设置.根据Microsoft Knowlege Base Article 194124,IMEX参数代表IM端口EX端口模式.这是文章的引用:
IMEX的可能设置是:
Run Code Online (Sandbox Code Playgroud)0 is Export mode 1 is Import mode 2 is Linked mode (full update capabilities)
在简单的英语中,您可以使用IMEX = 0表示Writes,IMEX = 1表示只读,IMEX = 2表示修改/更新(读取,更改,保存更改).
我注意到此问题已标记为Excel,但Microsoft.ACE.OLEDB提供程序允许连接到Access数据库引擎支持的许多类型的数据源,包括Access(*.accdb),Excel(*.xlsx),SharePoint列表, IMEX参数将以类似的方式影响这些其他类型的数据源.
2017年8月更新.对另一文档ADO.NET连接字符串语法(docs.microsoft.com)中"连接到Excel"标题下提到的IMEX 扩展属性的其他注释:
在[示例]连接字符串中," 扩展属性"关键字设置特定于Excel的属性."HDR =是;" 表示第一行包含列名,而不是数据,"IMEX = 1;" 告诉驱动程序始终将"混合"数据列作为文本读取.
我相信以前的知识库文章仍然适用,IMEX设置更常用作导出/导入/链接到数据源连接字符串中的其他非Excel数据源.另请注意,KB文章指出可以通过注册表更改"ImportMixedTypes"设置 - 这使我相信第二篇文章应该被忽略,以支持KB来解释IMEX设置.针对外部数据源的 Access连接引擎(ACE)Excel驱动程序@Windows注册表设置记录了相关的注册表设置- 初始化Microsoft Excel驱动程序.
根据下面的文章,IMEX 值 0 和 2 执行相同的操作;他们使用 ImportMixedTypes=MajorityType。如果您未在扩展属性中指定 IMEX=1,则这是默认值。
因此,默认的 IMEX 行为是 MajorityType,并且可以通过在连接字符串中使用 IMEX=1 以及注册表设置 ImportMixedTypes=Text 来覆盖它。
http://www.instantpages.ltd.uk/ADODB_WP.htm