C#循环DataTable赋值(导入的时间dt数值不对)
//场景:导入的execl的时间字段数据为double
DateTime date = DateTime.MinValue;
for (int i = 0; i < dt.Rows.Count; i++) { for (int j = 0; j < dt.Columns.Count; j++) { if (dt.Columns[j].ColumnName == "123" || dt.Columns[j].ColumnName == "456") { DateTime.TryParse(dt.Rows[i][j].ToString(), out date); if(date == DateTime.MinValue) dt.Rows[i][j] = ""; else dt.Rows[i][j] = date.ToString("yyyy-MM-dd"); } } }
处理:我用先删除dt列再添加个新的进来
//删除列 try { dt.Columns.Remove("Date1"); dt.Columns.Remove("Date2"); } catch (Exception ex) { } //新增 dt.Columns.Add("Date1",Type.GetType("System.String")); dt.Columns.Add("Date2", Type.GetType("System.String"));
参阅:http://t.zoukankan.com/szlblog-p-7458020.html