如何从数据集中的日期时间列中删除时间
本文关键字:时间 日期 删除 集中 数据 数据集 | 更新日期: 2023-09-27 18:31:11
我必须在 c# 应用程序中将数据导出到 excel 工作表 asp.net。现在我在下面的代码行中写道
DataTable dt = new DataTable();
dt = ds.Tables[0];
foreach (DataRow row in dt.Rows)
{
row["ExpiryDate"] = Convert.ToDateTime(row["ExpiryDate"]).ToShortDateString();
}
DataSet dsn = new DataSet();
DataTable dtcopy = dt.Clone();
dsn.Tables.Add(dtcopy);
WebUtility.GenrateExcel(ds, "ExpiredDocuments");
我想先从数据集的到期日期列中删除时间,然后通过它到生成Excel功能,以便时间不会出现在Excel的到期日期列中...请帮助上面的代码不起作用...
我想,你需要看看这个:https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
你应该像这样使用 smth
Convert.ToDateTime(ds.Tables[0].Rows[i]["ExpiryDate"]).ToString("MM/dd/yyyy")
或者你需要的任何东西。
这些是您需要执行的步骤,以便完成您所要求的内容:
-
创建字符串类型的新列
-
将新列的值设置为相应"到期日期"列的
ShortDateString
- 删除"到期日期"列
- 将新字符串列移动到旧"到期日期"列的位置
- 将新列重命名为"到期日期"
这样:
dt.Columns.Add("ExpiryDateString", typeof(String));
foreach(DataRow row in dt.Rows)
{
row["ExpiryDateString"] = ((DateTime)row["ExpiryDate"]).ToShortDateString();
}
int columnNumber = dt.Columns["ExpiryDate"].Ordinal;
dt.Columns.Remove("ExpiryDate");
dt.Columns["ExpiryDateString"].SetOrdinal(columnNumber);
dt.Columns["ExpiryDateString"].ColumnName = "ExpiryDate";