我一直在使用excel电子表格,到目前为止,我从未遇到过任何问题。但是,当我试图读取excel文件时,这个错误"Not a legal OleAut date.“突然出现了。有人知道我怎么解决这个问题吗。下面是我用来读取excel并将数据放入数据集中的代码。它以前工作得很好,但在我对数据源进行了一些更改(不涉及日期)之后,出现了这个错误。
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发布于 2012-10-11 23:17:05
我想出了解决这个问题的办法,我把连接字符串改成了最新的oleDB提供程序。
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0 Xml;HDR=YES;'", fileName);我还确保我的excel数据最后一行之后的空格不会被读取为值。
发布于 2017-09-21 21:03:23
查找不同的日期格式,在我的示例中,其中一列是dd/mm/yyyy格式,另一列是mm/dd/yyyy格式。一旦纠正了日期格式,数据导入就可以工作了。
发布于 2019-08-28 16:07:14
在我的例子中,我在表格中手动插入了一个格式错误的日期,它是01/01/0019而不是01/01/2019。
https://stackoverflow.com/questions/12605799
复制相似问题