LInqtoExcel получить информацию из второго столбца в Excel - PullRequest
0 голосов
/ 29 мая 2019

Я работаю с LinqToExcel для импорта данных из Excel и отображения в BD. Мой Excel сделан из 2 столбцов (вертикальный и горизонтальный) по горизонтали, у меня есть UserName и по вертикали слева, у меня есть JobsNames, и информация о часах работы на пользователя.

Теперь я хочу получить часы второго имени пользователя. Потому что, когда foreach достигает конца, я получаю только часы первого столбца. Как я могу это сделать?

Excel

TBL_Jobs

   var ExcelList = from model in excelFile.WorksheetRange<SP_ExtrajobsViewModel>("A3", "C18", sheetName) select model; // Var criada  para ir buscar a tabela inteira do excel
                    var colNames = excelFile.GetColumnNames(sheetName, "B2:C2").ToList(); // vai buscar o nome dos users na horizontal 

                    foreach (var item2 in colNames)
                    {

                        foreach (var model in ExcelList) // "skip(1) para ignorar a linha lida do header pois a segunda linha é que faz match com o modelo 
                        {
                            try
                            {

                                if (model.Scope2UserFunctionScope != null)
                                {
                                    var useriditem = _context.TBL_UserFunctionScope.Where(m => m.Name == model.Scope2UserFunctionScope).FirstOrDefault().FunctionScopeID;

                                    //var UserIDitem2 = 3081;

                                    TBL_ExtraJobs item = new TBL_ExtraJobs();

                                    if (model.Hours == null)
                                    {
                                        item.Hours = 0;
                                        item.Remaining = 0;
                                    }
                                    else
                                    {
                                        item.Hours = (decimal)model.Hours;
                                        item.Remaining = (decimal)model.Hours;
                                    }

                                    item.FunctionScopeID = useriditem;
                                    item.UserID = _context.TBL_User.Where(m=> m.Username.Equals(item2)).Select(o => o.UserID).FirstOrDefault();
                                    item.Day = DateTime.UtcNow;
                                    item.Description = "ola";
                                    item.CreateDate = DateTime.UtcNow;
                                    item.CreateBy = userID;
                                    _context.TBL_ExtraJobs.Add(item);
                                    _context.SaveChanges();
                                }
                                else
                                {
                                    //data.Add("<ul>");
                                    //if (a.Month != null) data.Add("<li> Month is required</li>");
                                    //if (a.UserID != null) data.Add("<li> Address is required</li>");
                                    //if (a.GrossMargin != null) data.Add("<li>ContactNo is required</li>");
                                    //if (a.SalesObjective != 0) data.Add("<li>ContactNo is required</li>");
                                    //if (a.ConversionRate != 0) data.Add("<li>ContactNo is required</li>");

                                    //data.Add("</ul>");
                                    //data.ToArray();
                                    //return Json(data, JsonRequestBehavior.AllowGet);
                                }
                            }
...