public async Task <IActionResult> UploadEmployeeRecords(IFormFile excelfile) { if (excelfile == null || excelfile.Length == 0) { ViewBag.Error = "Please Select a excel file <br/>"; TempData["UserMessage"] = "Please Select a excel file."; TempData["Title"] = "Error."; return(View(nameof(Index))); } IFormFile file = Request.Form.Files["excelfile"]; if (excelfile.FileName.EndsWith("xls") || excelfile.FileName.EndsWith("xlsx")) { string lastrecord = ""; int recordCount = 0; string message = ""; string fileContentType = file.ContentType; byte[] fileBytes = new byte[file.Length]; var data = file.OpenReadStream(); using (var package = new ExcelPackage(file.OpenReadStream())) { ExcelValidation myExcel = new ExcelValidation(); var currentSheet = package.Workbook.Worksheets; var workSheet = currentSheet.First(); var noOfCol = workSheet.Dimension.End.Column; var noOfRow = workSheet.Dimension.End.Row; int requiredField = 4; string validCheck = myExcel.ValidateExcel(noOfRow, workSheet, requiredField); if (!validCheck.Equals("Success")) { //string row = ""; //string column = ""; string[] ssizes = validCheck.Split(' '); string lineError = $"Line/Row number {ssizes[0]} and column {ssizes[1]} is not rightly formatted, Please Check for anomalies "; //ViewBag.LineError = lineError; ViewBag.Message = lineError; RedirectToAction(nameof(Create)); } var studentId = DateTime.Now.Ticks; for (int row = 2; row <= noOfRow; row++) { string firstName = workSheet.Cells[row, 1].Value.ToString().Trim(); string lastName = workSheet.Cells[row, 2].Value.ToString().Trim(); string mobileNumber = workSheet.Cells[row, 3].Value.ToString().Trim(); string department = workSheet.Cells[row, 4].Value.ToString().Trim(); var dept = _dept?.SearchDepartment(department); var generateNumber = new EmployeeRepo(); try { var employee = new Employee() { FirstName = firstName, LastName = lastName, MobileNumber = mobileNumber, Department = dept, EmployeeNumber = generateNumber.GenerateEmployeeNumber(dept.Name) }; _context.Employees.Add(employee); recordCount++; // lastrecord = $"The last Updated record has the Last Name {student.LastName} and First Name {student.FirstName} with Student Id {student.StudentId}"; } catch (Exception ex) { ViewBag.ErrorInfo = "Please Leave no column or row Empty/Blank"; ViewBag.ErrorMessage = ex.Message; return(View("ErrorException")); } } await _context.SaveChangesAsync(); message = $"You have successfully Uploaded {recordCount} records... and {lastrecord}"; TempData["UserMessage"] = message; TempData["Title"] = "Success."; } return(RedirectToAction("Index", "Employees")); } return(View()); }