簡體   English   中英

從控制器中的excel導入數據時,如何檢查excel文件中是否存在特定的列?

[英]While importing data from excel in the controller how to check if the specific column exists in the excel file or not?

我正在通過成功添加數據的控制器功能將數據添加到數據庫表中。 問題是我必須從兩個不同的excel文件中添加數據,這些文件包含除一列之外的相同列,因此在添加數據時我想在控制器中進行一些檢查,同時從excel文件中讀取excel文件中是否存在特定的列? 這是我的控制器方法,適用於其余各列:

using (ApplicationDbContext db = new ApplicationDbContext())
{
    db.Database.ExecuteSqlCommand("TRUNCATE TABLE COCoreMembers");
    DataAccess.DataTable abc = DataAccess.DataTable.New.ReadCsv(Server.MapPath("~/App_Data/TempBrdcepPSC/PscData/co_members.csv"));
    COCoreMember xyz = new COCoreMember();

    foreach (Row Row in abc.Rows)
    {
        xyz._URI = Row["_URI"];
        xyz._PARENT_AURI = Row["_PARENT_AURI"];
        xyz.HHID = Row["HHID"];
        xyz.HHNAME = Row["HHNAME"];
        xyz.HH_SET_ID = Row["HH_SET_ID"];
        xyz.HH_SET_NAME = Row["HH_SET_NAME"];
        xyz.MEM_ID = Row["MEM_ID"];
        xyz.MEM_NAME = Row["MEM_NAME"];
        xyz.MEMBER_AGE = Row["MEMBER_AGE"];
        xyz.POSITION = Row["POSITION"];
        xyz.CELL = Row["CELL"];
        if (Row["CNIC"].ToString() == xyz.CNIC)
        {
            xyz.CNIC = Row["CNIC"];
        }
        else
        {
            xyz.CNIC = "no record";
        }

        //xyz.CNIC = "CNIC";

        db.COCoreMembers.Add(xyz);
        db.SaveChanges();
    }
}

我只想檢查excel文件中是否存在“ CNIC”列,然后將其輸入到表中,否則將其輸入到表中。

嘗試這樣-

using (ApplicationDbContext db = new ApplicationDbContext())
{
    db.Database.ExecuteSqlCommand("TRUNCATE TABLE COCoreMembers");
    DataAccess.DataTable abc = DataAccess.DataTable.New.ReadCsv(Server.MapPath("~/App_Data/TempBrdcepPSC/PscData/co_members.csv"));
    bool checkColumn = false;
    if(abc.Columns.Contains("CNIC"))
    {
        checkColumn = true;
    }
    else
    {
        abc.Columns.Add("CNIC");
    }

    COCoreMember xyz = new COCoreMember();

    foreach (Row Row in abc.Rows)
    {
        xyz._URI = Row["_URI"];
        xyz._PARENT_AURI = Row["_PARENT_AURI"];
        xyz.HHID = Row["HHID"];
        xyz.HHNAME = Row["HHNAME"];
        xyz.HH_SET_ID = Row["HH_SET_ID"];
        xyz.HH_SET_NAME = Row["HH_SET_NAME"];
        xyz.MEM_ID = Row["MEM_ID"];
        xyz.MEM_NAME = Row["MEM_NAME"];
        xyz.MEMBER_AGE = Row["MEMBER_AGE"];
        xyz.POSITION = Row["POSITION"];
        xyz.CELL = Row["CELL"];

        if(checkColumn)
        {
            xyz.CNIC = Row["CNIC"];
        }
        else
        {
            xyz.CNIC = "no record";
        }

        db.COCoreMembers.Add(xyz);
        db.SaveChanges();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM