现在将excel导入数据库添加日期

时间:2018-03-13 06:00:15

标签: c# asp.net-mvc model-view-controller import-from-excel

我有一个在mvc中将excel导入数据库的工作代码。在这些我有一个日期列,导入后留空。我想要的是在导入时插入日期。

这是我现在的代码:

[HttpPost]
public ActionResult UploadCsv(HttpPostedFileBase attachmentcsv, Device device)
{
    CsvFileDescription csvFileDescription = new CsvFileDescription
    {
        SeparatorChar = ',',
        FirstLineHasColumnNames = true
    };
    CsvContext csvContext = new CsvContext();
    StreamReader streamReader = new StreamReader(attachmentcsv.InputStream);
    IEnumerable<Device> list = csvContext.Read<Device>(streamReader, csvFileDescription);
    db.Devices.AddRange(list);
    // code for insert Date now on my date column because it leaves blank
    db.SaveChanges();
    return RedirectToAction("Index","Devices");
}

1 个答案:

答案 0 :(得分:0)

我假设您的数据库属性名称是设备类中的UploadDateTime。

List<Device> list = csvContext.Read<Device>(streamReader, csvFileDescription).ToList();

//Use below line of code to assign datetime to all object in list then add and save.
list.ForEach(x=> x.UploadDateTime = DateTime.Now);

db.Devices.AddRange(list);
// code for insert Date now on my date column because it leaves blank
db.SaveChanges();

修改

如果list.ForEach无效,那么您可以像这样使用

//or u can use foreach like below 
foreach ( var item in list)
{
    item.UploadDateTime = DateTime.Now;
}