我遇到的问题是数据适配器只查看每列中的第一行来确定数据类型.在我的情况下,第一列"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""";
Run Code Online (Sandbox Code Playgroud)
ImportMixedTypes=Text;TypeGuessRows=0
Run Code Online (Sandbox Code Playgroud)
应该是重要的关键字,看看0行,只使用文本作为一切的值类型.
我提出的"bandaid"是让电子表格中的第一行混合使用字母和数字,特别是在我的查询中留下该行.