我在Excel中有一列用于输入时间 . 在导入我的C#代码期间,OleDbAdaptor将随机“日期”与此时间值绑定,这是我不想要的 .

我使用了以下OleDbConnection:

var con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/ImportEmployeeAttendance/" + strCompanyID + "/EmployeeAttendanceTran" + Path.GetExtension(file.FileName)) + ";" + "Extended Properties=" + "\"" + "Excel 12.0;IMEX=1;" + "\"")
con.Open();
var dtSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
var strSheetName = "";
if (Path.GetExtension(file.FileName).ToLower() == ".xlsx")
    strSheetName = dtSchema.Rows[1]["TABLE_NAME"].ToString();
else
    strSheetName = dtSchema.Rows[0]["TABLE_NAME"].ToString();

var cmd = new OleDbCommand();
var da = new OleDbDataAdapter();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM [" + strSheetName + "]";
da = new OleDbDataAdapter(cmd);
da.Fill(ds);

对于Ex:

在Excel中 -

输入 - 时间:上午7:45:22

然后在调用此函数后,它给了我:

输出 - 时间: 12/30/1899 上午7:45:22

如何从Excel中获取时间?

我用很多东西来形成单元格值,例如General,string,Custom - hh:mm:ss,Time等等仍然没有成功