Excel中的混合数据类型,IMEX不起作用

时间:2012-03-29 02:21:36

标签: c# datatable oledb xls

我正在尝试将xls导出到datatable中。下面是我的连接字符串。

string path = //xls source path
OleDbConnection MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel8.0;IMEX=1;TypeGuessRows=0;HDR=No;ImportMixedTypes=Text'");

我设置IMEX=1和所有其他扩展属性,因为我必须处理混合数据类型。

即使我设置了这样的连接,但我仍然会产生错误。

没有错误消息,但不一致的行(不遵循多数数据类型的设置为null而不是)。

有人能告诉我我错过了什么吗?顺便说一下,我正在使用OleDbDataAdapter& Fill(DataSet)方法。

1 个答案:

答案 0 :(得分:6)

您确定TypeGuessRows=0;ImportMixedTypes=Text;是否在连接字符串中工作,不应在注册表中修改(HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\Jet\4.0\Engines\Excel)? AFAIK此设置从注册表中读取。 ImportMixedTypes=Text通常默认为TypeGuessRows=8,但应与连接字符串中的0一样设置。