首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有关excel文件的OleDB连接字符串的帮助

有关excel文件的OleDB连接字符串的帮助
EN

Stack Overflow用户
提问于 2010-12-29 11:12:02
回答 1查看 28.3K关注 0票数 20

我遇到的问题是,数据适配器只查看每列中的第一行来确定数据类型。在我的例子中,第一列"SKU“是前500行的数字,然后我碰巧有SKU,它是数字和字母的混合。因此,最终发生的情况是SKU列中的行留空,但我仍然获得每个列行的其他信息。

我相信是连接字符串控制了这一点,在我当前的设置下,它应该可以工作,但它不是。

连接字符串:

代码语言:javascript
运行
复制
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Nick\Desktop\Pricing2.xlsx" + @";Extended Properties=""Excel 12.0 Xml;HDR=Yes;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0""";
代码语言:javascript
运行
复制
ImportMixedTypes=Text;TypeGuessRows=0

应该是重要的关键字,查看0行,并且只使用文本作为所有内容的值类型。

我的“创可贴”是使电子表格中的第一行是字母和数字的混合,特别是在我的查询中省略了该行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-12 07:02:22

不幸的是,您不能从连接字符串设置ImportMixedTypesTypeGuessRows,因为这些设置是在注册表中定义的。对于ACE OleDb驱动程序,它们存储在

代码语言:javascript
运行
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel

在注册表中。因此,您可以将连接字符串简化为:

代码语言:javascript
运行
复制
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Nick\Desktop\Pricing2.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=Yes;IMEX=1;""";

在注册表中将TypeGuessRows设置为0并将ImportMixedTypes设置为Text后,您应该会获得预期的行为。但是,如果发现导入性能不够理想,则可以考虑使用适当的较大数字,如1000而不是零。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4551203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档