我在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 AM
如何从Excel中获取时间?
我用很多东西来形成单元格值,例如General,string,Custom - hh:mm:ss,Time等仍然没有成功