c# - 在 C# 中读取 Excel 文件时如何修复 "Not a legal OleAut date."?

标签 c# excel oledbdataadapter

我一直在使用 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/

相关文章:

c# - 带有更新面板的 jquery

excel - 从 ADODB 查询返回日期(不是字符串)

c# - 为什么 OleDbDataAdapter.Fill() 非常慢?

vba - 将数据保存到工作表中

c# - 如何使用 oleDbDataAdapter.Update(myDataSet) 更新 excel 文件

c# - 数据表中的验证

c# - 从子控件访问父控件 - ASP.NET C#

c# - 停止服务

c# - RDP 客户端 - AxHost.InvalidActiveXStateException

VBA - 我想删除单元格顶部的按钮 - 扫雷游戏