public async Task <bool> ExcelUploadAsync(ExcelUploadDto excelUploadDto) { if (excelUploadDto.ExcelFile != null && (Path.GetExtension(excelUploadDto.ExcelFile.FileName).Equals(".xlsx") || Path.GetExtension(excelUploadDto.ExcelFile.FileName).Equals(".xls"))) { using (var stream = new MemoryStream()) { await excelUploadDto.ExcelFile.CopyToAsync(stream); using (ExcelPackage ep = new ExcelPackage(stream)) { ExcelWorksheet worksheet = ep.Workbook.Worksheets[0]; int rowsCount = worksheet.Dimension.Rows; for (int row = 2; row <= rowsCount; row++) { GlobalPoint globalPoint = new GlobalPoint { Latitude = (float)(double)(worksheet.Cells[row, 2].Value), Longitude = (float)(double)(worksheet.Cells[row, 3].Value) }; Airport airport = new Airport { AirportName = worksheet.Cells[row, 1].Value.ToString(), GlobalPoint = globalPoint }; Airport isExist = _appDbContext.Airport .SingleOrDefault(m => m.AirportName == airport.AirportName); if (isExist != null) { _appDbContext.Airport.Remove(isExist); _appDbContext.GlobalPoint.Remove(isExist.GlobalPoint); } await _appDbContext.GlobalPoint.AddAsync(globalPoint); await _appDbContext.Airport.AddAsync(airport); } await _appDbContext.SaveChangesAsync(); } } return(true); } else { return(false); } }
public async Task <IActionResult> ExcelUploaded(ExcelUploadDto excelUploadDto) { if (ModelState.IsValid) { if (await _excelUploadService.ExcelUploadAsync(excelUploadDto)) { ViewBag.Message = "Upload Success!"; } else { ViewBag.Message = "Upload failed!"; } } else { ViewBag.Message = "Upload failed!"; } return(View()); }
public async Task <IActionResult> EmployeeExcelUploadAsync([FromForm] ExcelUploadDto excelUploadDto) { var id = Convert.ToInt32(User.Identity.Name); if (excelUploadDto.UploadFile == null) { return(NotFound()); } try { var list = await EPPlusHelper.UploadExcel <EmployeeExcelDto>(excelUploadDto.UploadFile); // NPOI EPPlus List <Employees> createList = new List <Employees>(); foreach (var item in list) { Employees employee = new Employees(); employee = mapper.Map <Employees>(item); employee.CreateTime = DateTime.Now; employee.CreateID = id; employee.IsParent = 0; employee.EmployeePID = id; employee.Code = Guid.NewGuid().ToString(); employee.Password = MD5Encrypt.Encrypt("123456"); createList.Add(employee); } string json = JsonSerializer.Serialize(createList); await distributedCache.SetStringAsync($"excel_employees_List_ByUser_{id}", json); return(Ok(new { code = 0, data = createList })); } catch (System.Exception ex) { return(Ok(new { code = 1, data = ex.Message })); } }