在C#中读取Excel文件时如何解决“不是合法的OleAutdate”?

我一直在使用excel电子表格,到目前为止,我从来没有遇到任何问题。但是,当我尝试读取excel文件时,这个错误“不是合法的OleAutdate”显示出来。 有谁知道我可以如何解决这个问题。 这里是我用来读取Excel的代码,并把数据放入数据集。 它以前工作得很好,但是在我对数据源进行了一些修改(不涉及date)之后,这个错误就出现了。

var fileName = string.Format("C:\\Drafts\\Excel 97-2003 formats\\All Data 09 26 2012_Edited.xls"); var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName); var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString); DataSet Originalds = new DataSet(); adapter.Fill(Originalds, "Employees"); // this is where the error shows up 

我有点想通了一个解决这个问题我改变了连接string到最新的oleDB提供者。

 var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES;'", fileName); 

我也确信,我的Excel数据的最后一行之后的空白空间不被读取为一个值。

寻找不同的date格式,在我的情况下,其中一列是dd / mm / yyyy格式,另一个是mm / dd / yyyy。 一旦date格式被纠正,数据导入工作。