C# 使用linqToExcel从excel读取日期
我试图从excel文件中读取日期,但总是得到01/01/0001:C# 使用linqToExcel从excel读取日期,c#,sql-server,asp.net-mvc,linq,C#,Sql Server,Asp.net Mvc,Linq,我试图从excel文件中读取日期,但总是得到01/01/0001: var empDetails = from a in excelFile.Worksheet<Réception_camions>(sheetName) select a; foreach (var a in empDetails) { if (a.Date_d_arrivée != null ) { DateTime Date = (a.Date_d_arrivée);
var empDetails = from a in excelFile.Worksheet<Réception_camions>(sheetName) select a;
foreach (var a in empDetails)
{
if (a.Date_d_arrivée != null )
{
DateTime Date = (a.Date_d_arrivée);
TimeSpan heure = (a.heure_d_arrivée);
decimal Pd = a.Poids_cam;
int Id_qualité = Convert.ToInt32(a.Id_qualité);
int result = PostExcelData(Date, heure, a.Poids_cam, a.Id_cam, a.Id_qualité);
//...
}
}
public int PostExcelData(DateTime Date_d_arrivée, TimeSpan heure_d_arrivée, Decimal Poids_cam, int Id_cam, int Id_qualité)
{
Réception_phosphateEntities DbEntity = new Réception_phosphateEntities();
var InsertExcelData = DbEntity.usp_InsertNewEmployeeDetails1(Date_d_arrivée, heure_d_arrivée, Poids_cam, Id_cam, Id_qualité );
return InsertExcelData;
}
var empDetails=从Excel文件中的a。工作表(sheetName)选择a;
foreach(详细信息中的var a)
{
如果(a.Date\u d\u arrivée!=空)
{
DateTime日期=(a.Date_d__arriveée);
TimeSpan heure=(a.heure_d__arriveée);
十进制Pd=a.Poids\u cam;
int Id_qualité=转换为32(a.Id_qualité);
int result=PostExcelData(日期、大小、a.Poids\u-cam、a.Id\u-cam、a.Id\u-qualité);
//...
}
}
公共int PostExcelData(日期时间日期、时间间隔、小数点、int Id、int Id质量)
{
Réception_phosphateenties DbEntity=新Réception_phosphateenties();
var InsertExcelData=DbEntity.usp_InsertNewEmployeeDetails1(到达日期、到达时间、地点、身份证、身份证);
返回InsertExcelData;
}
在我的excel文件中,第一列(日期)的类型是日期。
有人能帮帮我吗?使用Db.null代替null。您试图将空单元格转换为日期,并获取默认日期,即1/1/1单元格不是空的,它适用于其他字段,问题只是日期和时间。工作表中的日期和时间是字符串吗?日期的区域性可能与电脑设置的区域性不同。VS将使用您电脑设置的区域性,如果日期/时间是字符串,您可能会遇到问题。我做了一些修改,日期没有问题,但仍然是heure____iarriveée的时间。不工作我收到一个错误“'Invalid cast from'System.DateTime'到'System.TimeSpan';在excel中,我使用类型“Date”表示
Date\u d\u arriveée
和heure\u d\u arrivée
,因此使用日期时间而不是时间跨度表示时间。