我正在使用 导入一个 excel 文件C# and JetOLEDb (Microsoft.ACE.OLEDB for excel 2010 and beyond)
,并且我正在使用以下代码:
var fileName = @"C:\myexcel.xlsx";
var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", fileName);
var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", connectionString);
var ds = new DataSet();
adapter.Fill(ds, "anyNameHere");
System.Data.DataTable data = ds.Tables["anyNameHere"];
问题是
当我尝试导入 DateTime 值时,这些值将作为 excel 时间返回,例如“03/01/2013”返回为 41334。
如何将这些值转换为 .net DateTime,以及如何检查它们是日期时间值还是普通双精度值