使用C#查询两个date之间的Excel列

嗨,我试图从两个date之间的Excel中select数据。 我有点卡住,因为在Excel中的数据只是文本types。 我将如何查询这个?

string Date = DateTime.Now.AddDays(7).ToString("dd/MM/yyyy HH:mm"); string Date2 = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); MyCommand = new System.Data.OleDb.OleDbDataAdapter("select [Req Start Date] from [CR$]", BETWEEN Date and Date2 ? MyConnection); 

您可以使用标准的SQL语法在两个date之间进行查询,但是您需要将date作为date参数分配给OleDbDataAdapter。 否则,它会将date视为文本,而您将无法获得正确的匹配。

 DataSet ds = new DataSet(); using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(SQL, conn)) { // Format the dates as dd/mm/yyyy string date1 = DateTime.Now.AddDays(7).ToString("dd/MM/yyyy"); string date2 = DateTime.Now.ToString("dd/MM/yyyy"); // Set up the SQL with the two date paramters string SQL = "SELECT [Req Start Date] FROM [CR$] WHERE [Req Start Date] BETWEEN ? AND ?"; // Assign the two dates dataAdapter.SelectCommand.Parameters.Add("@p1", OleDbType.Date).Value = date1; dataAdapter.SelectCommand.Parameters.Add("@p2", OleDbType.Date).Value = date2; // Run the query dataAdapter.Fill(ds); }