我一直在使用 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 数据最后一行之后的空白区域不会被读取为值。
关于c# - 在 C# 中读取 Excel 文件时如何修复 "Not a legal OleAut date."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12605799/