C# 在从excel读取的日期中格式化日期?

C# 在从excel读取的日期中格式化日期?,c#,asp.net,sql,sql-server,C#,Asp.net,Sql,Sql Server,我正在将excel工作表导入sql server db表excel工作表具有: id |数据(以mm/dd/yyyy为单位的日期) 我可以将数据上传到db表中,但我希望在将数据发送到数据库之前将日期转换为yyyy/mm/dd。我尝试了一段代码,但没有成功 DataTable dt7 = new DataTable(); dt7.Load(dr); DataRow[] ExcelRows = new DataRow[dt7.Rows.Count];

我正在将excel工作表导入sql server db表excel工作表具有: id |数据(以mm/dd/yyyy为单位的日期) 我可以将数据上传到db表中,但我希望在将数据发送到数据库之前将日期转换为yyyy/mm/dd。我尝试了一段代码,但没有成功

        DataTable dt7 = new DataTable();
        dt7.Load(dr);
        DataRow[] ExcelRows = new DataRow[dt7.Rows.Count];
        // Bulk Copy to SQL Server
        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
        {
            bulkCopy.DestinationTableName = "ExcelTable";

            dt7.Rows.CopyTo(ExcelRows, 0);

            for (int i = 0; i < ExcelRows.Length; i++)//i represents the row
            {
                var oldDate = ExcelRows[i]["data"].ToString();
                var newDate = Convert.ToDateTime(oldDate);

                ExcelRows[i]["data"] = newDate.ToString("yyyy/MM/dd");
            }

            bulkCopy.WriteToServer(ExcelRows);
DataTable dt7=newdatatable();
dt7.载荷(dr);
DataRow[]ExcelRows=新数据行[dt7.Rows.Count];
//批量复制到SQL Server
使用(SqlBulkCopy bulkCopy=newsqlbulkcopy(sqlConnectionString))
{
bulkCopy.DestinationTableName=“ExcelTable”;
dt7.Rows.CopyTo(ExcelRows,0);
for(int i=0;i
错误:字符串未被识别为有效的日期时间。
我已经在数据库nvarchar、varchar、datetime中尝试了所有3种数据类型。对于date列,同样的错误

无法在这里以不同的格式设置值ExcelRows[i][“data”]=newDate.ToString(“yyyy/MM/dd”);如果要格式化日期,请使用另一个字符串列并更新到该列和需要保存的内容。

@Arbaaz:哪一行出现错误?尝试了您的两个建议,仍然是相同的错误,是否可能是读取了错误的列或其他内容,或者根本没有读取excel中名为数据的列?@Daredev var newDate=Convert。ToDateTime(旧日期);