Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何修复”;不是法定的许可日期。”;在C#中读取Excel文件时?_C#_Excel_Oledbdataadapter - Fatal编程技术网

“如何修复”;不是法定的许可日期。”;在C#中读取Excel文件时?

“如何修复”;不是法定的许可日期。”;在C#中读取Excel文件时?,c#,excel,oledbdataadapter,C#,Excel,Oledbdataadapter,我一直在使用excel电子表格,到目前为止,我从未遇到过任何问题。。但当我试图读取excel文件时,突然出现了这个错误,“不是法定的OleAut日期”。有人知道我怎么解决这个问题吗。下面是我用来读取excel并将数据放入数据集的代码。它以前工作得很好,但在我对数据源做了一些更改(不涉及日期)之后,出现了这个错误 var fileName = string.Format("C:\\Drafts\\Excel 97-2003 formats\\All Data 09 26 2012_Edited.x

我一直在使用excel电子表格,到目前为止,我从未遇到过任何问题。。但当我试图读取excel文件时,突然出现了这个错误,“不是法定的OleAut日期”。有人知道我怎么解决这个问题吗。下面是我用来读取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

我找到了解决这个问题的方法,我将连接字符串更改为最新的oleDB提供程序

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

我还确保excel数据最后一行后的空白未被读取为值。

查找不同的日期格式,在我的例子中,一列为dd/mm/yyyy格式,另一列为mm/dd/yyyy格式。数据导入工作完成后,日期格式被纠正。

在我的情况下,我在表格中手动插入了一个格式错误的日期,它是01/01/0019,而不是2019年1月1日。

您知道电子表格中的哪个字段产生了错误吗?如果是,该字段包含什么?可能重复:@CodeIgnoto它不是重复的。。我先看了这个问题。所有建议和解决方案都不适用于我。@Dynguss它没有说哪一行有问题,只是说“不是法定的OleAut日期”。。。电子表格中有三个日期字段。是否有与错误相关的堆栈跟踪?您是否能够亲自查看电子表格并查看哪些值是错误的?