【发布时间】:2011-05-31 20:59:03
【问题描述】:
我遇到的问题是数据适配器只查看每列中的第一行来确定数据类型。在我的情况下,第一列“SKU”是前 500 行的数字,然后我碰巧有混合数字和字母的 SKU。所以最终发生的事情是 SKU 列中的行留空,但我仍然可以获得每一列行的其他信息。
我相信它是控制它的连接字符串,并且在我当前的设置下它应该可以工作,但事实并非如此。
连接字符串:
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""";
ImportMixedTypes=Text;TypeGuessRows=0
应该是重要的关键字,看0行就用文本作为所有的值类型。
我使用的“创可贴”是将电子表格中的第一行混合为字母和数字,并在我的查询中特别保留该行。
【问题讨论】:
-
您是否尝试过不同的提供商,例如 JET 而不是 ACE?在此处查看其他可能的连接字符串格式:connectionstrings.com/excel
-
我已经去过那个网站并尝试了所有方法。我希望有更好的方法来做到这一点。如果他们想将系统设计为长字符串,他们需要发布一个免费的生成器。呃……
-
@theprise JET 仍然会出现同样的问题,因为需要修改的值都在注册表中,无法从连接字符串中设置。
标签: c# connection-string oledbconnection import-from-excel