使用c#将excel数据转换为datetime

我是C#的新手,我有一个C#程序和从另一个程序导出的Excel文件。 我如何将它转换为DateTime? 这里是代码,其中dtFromdtToDateTimePickervariables:

 System.Data.DataTable dtExcel = new System.Data.DataTable(); dtExcel.TableName = "MyExcelData"; string SourceConstr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + this.textBox1.Text + "';Extended Properties= 'Excel 8.0;HDR=Yes;IMEX=1'"; OleDbConnection con = new OleDbConnection(SourceConstr); string query = "Select Customer, SUM(Wt) AS Weight from [Sheet0$] WHERE (CONVERT(datetime, [Date]) >= " + this.dtFrom.Value.Month + ") GROUP BY Customer order by Customer"; OleDbDataAdapter data = new OleDbDataAdapter(query, con); data.Fill(dtExcel); 

我认为这可能不是你唯一的问题,但要回答你的问题,如果你更换

 string query = "Select Customer, SUM(Wt) AS Weight from [Sheet0$] WHERE (CONVERT(datetime, [Date]) >= " + this.dtFrom.Value.Month + ") GROUP BY Customer order by Customer"; OleDbDataAdapter data = new OleDbDataAdapter(query, con); 

 string query = "Select Customer, SUM(Wt) AS Weight from [Sheet0$] WHERE (CONVERT(datetime, [Date]) >= @Date) GROUP BY Customer order by Customer"; OleDbCommand command = new OleDbCommand(query); command.Parameters.Add("@Date", OleDbType.DBTimeStamp).Value = this.dtFrom.Value; OleDbDataAdapter data = new OleDbDataAdapter(command, con); 

你可能会走在正确的轨道上。 不是100%确定你需要哪个OleDbType ,但你可以很容易地看到可用的选项。