我正在尝试将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)
方法。
答案 0 :(得分:6)
您确定TypeGuessRows=0;
和ImportMixedTypes=Text;
是否在连接字符串中工作,不应在注册表中修改(HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\Jet\4.0\Engines\Excel
)? AFAIK此设置从注册表中读取。 ImportMixedTypes=Text
通常默认为TypeGuessRows=8
,但应与连接字符串中的0
一样设置。