public async System.Threading.Tasks.Task <ActionResult> UploadFile(HttpPostedFileBase file, String data) { bool update = true; List <ExcelImportErr> error = new List <ExcelImportErr>(); int errorchk = 0; var result = new ResultInfo() { error = 0, msg = "Đã tải", data = "" }; string path = ""; try { if (file == null || file.ContentLength <= 0) { throw new Exception("Thiếu file Excel"); } string extension = System.IO.Path.GetExtension(file.FileName); if (extension.Equals(".xlsx")) { string fileSave = MaDonVi + "hs" + DateTime.Now.ToString("ddMMyyyyhhmmss") + extension; path = Server.MapPath("~/TaiLieu/Temps/" + fileSave); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } file.SaveAs(path); FileInfo newFile = new FileInfo(path); var package = new ExcelPackage(newFile); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; int totalRows = sheet.Dimension.End.Row; int totalCols = sheet.Dimension.End.Column; //List<CreateEmail> lste = new List<CreateEmail>(); for (int i = 2; i <= totalRows; i++) { #region readexcel string hovachulot = Convert.ToString(sheet.Cells[i, 2].Value); if (String.IsNullOrEmpty(hovachulot)) { error.Add(new ExcelImportErr() { Dong = i, Cot = 2, NoiDung = "Chưa nhập họ và chữ lót" }); } string ten = Convert.ToString(sheet.Cells[i, 3].Value); if (String.IsNullOrEmpty(ten)) { error.Add(new ExcelImportErr() { Dong = i, Cot = 3, NoiDung = "Chưa nhập tên" }); errorchk = 1; } string namhoc = Convert.ToString(sheet.Cells[i, 4].Value); if (String.IsNullOrEmpty(namhoc)) { error.Add(new ExcelImportErr() { Dong = i, Cot = 4, NoiDung = "Chưa nhập năm hoc" }); errorchk = 1; } if (namhoc.Length != 4) { error.Add(new ExcelImportErr() { Dong = i, Cot = 4, NoiDung = "Năm học chưa đúng" }); errorchk = 1; } string lop = Convert.ToString(sheet.Cells[i, 5].Value); if (String.IsNullOrEmpty(lop)) { error.Add(new ExcelImportErr() { Dong = i, Cot = 5, NoiDung = "Chưa nhập lớp" }); errorchk = 1; } string gioitinh = Convert.ToString(sheet.Cells[i, 6].Value); if (String.IsNullOrEmpty(gioitinh)) { error.Add(new ExcelImportErr() { Dong = i, Cot = 6, NoiDung = "Chưa nhập giới tính" }); errorchk = 1; } if (gioitinh != "Nam" && gioitinh != "Nữ") { error.Add(new ExcelImportErr() { Dong = i, Cot = 6, NoiDung = "Giới tính là Nam hoặc Nữ" }); errorchk = 1; } string namsinh = Convert.ToString(sheet.Cells[i, 7].Value); if (String.IsNullOrEmpty(namhoc)) { error.Add(new ExcelImportErr() { Dong = i, Cot = 7, NoiDung = "Chưa nhập năm sinh" }); errorchk = 1; } DateTime?dnamsinh = UserFunction.ToDate(namsinh); if (dnamsinh == null) { error.Add(new ExcelImportErr() { Dong = i, Cot = 7, NoiDung = "Năm sinh chưa đúng" }); errorchk = 1; } string dantoc = Convert.ToString(sheet.Cells[i, 8].Value); string noisinh = Convert.ToString(sheet.Cells[i, 9].Value); string dienut = Convert.ToString(sheet.Cells[i, 10].Value); string dienkk = Convert.ToString(sheet.Cells[i, 11].Value); string toan = Convert.ToString(sheet.Cells[i, 12].Value); string ly = Convert.ToString(sheet.Cells[i, 13].Value); string hoa = Convert.ToString(sheet.Cells[i, 14].Value); string sinh = Convert.ToString(sheet.Cells[i, 15].Value); string nguvan = Convert.ToString(sheet.Cells[i, 16].Value); string su = Convert.ToString(sheet.Cells[i, 17].Value); string dia = Convert.ToString(sheet.Cells[i, 18].Value); string tienganh = Convert.ToString(sheet.Cells[i, 19].Value); string gdcd = Convert.ToString(sheet.Cells[i, 20].Value); string congnghe = Convert.ToString(sheet.Cells[i, 21].Value); string tiengphap = Convert.ToString(sheet.Cells[i, 22].Value); string theduc = Convert.ToString(sheet.Cells[i, 23].Value); string nhac = Convert.ToString(sheet.Cells[i, 24].Value); string mythuat = Convert.ToString(sheet.Cells[i, 25].Value); string tbcn = Convert.ToString(sheet.Cells[i, 26].Value); string xeploaihl = Convert.ToString(sheet.Cells[i, 27].Value); string xeploaihk = Convert.ToString(sheet.Cells[i, 28].Value); string xeploaitn = Convert.ToString(sheet.Cells[i, 29].Value); int buoinghi = 0; try { buoinghi = Convert.ToInt32(sheet.Cells[i, 30].Value); } catch { } #endregion //them moi du lieu if (errorchk == 0) { DM_HocSinh hs = new DM_HocSinh(); hs.MaTruong = MaDonVi; hs.NamHoc = namhoc; hs.HoChuLot = hovachulot; hs.Ten = ten; hs.GioiTinh = gioitinh; hs.NamSinh = DateTime.Parse(namsinh); hs.DanToc = dantoc; hs.NoiSinh = noisinh; hs.DienUT = dienut; hs.DienKK = dienkk; hs.Toan = toan; hs.Ly = ly; hs.Hoa = hoa; hs.Sinh = sinh; hs.NguVan = nguvan; hs.Su = su; hs.Dia = dia; hs.TiengAnh = tienganh; hs.GDCD = gdcd; hs.CongNghe = congnghe; hs.TiengPhap = tiengphap; hs.TheDuc = theduc; hs.Nhac = nhac; hs.MyThuat = mythuat; hs.TBCN = tbcn; hs.XepLoaiHL = xeploaihl; hs.XepLoaiHK = xeploaihk; hs.XepLoaiTN = xeploaitn; hs.Lop = lop; hs.BuoiNghi = buoinghi; hs.GhiChu = ""; hs.TrangThai = 0; hs.NgayTao = DateTime.Now; db.DM_HocSinh.Add(hs); } else { update = false; } //ket thuc them moi du lieu } if (update == true) { //sau khi lưu thành công mới tiến hành add email db.SaveChanges(); } // xoa file temp package.Dispose(); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } } else { error.Add(new ExcelImportErr() { Dong = 0, Cot = 0, NoiDung = "Định dạng yêu cầu: Excel 2007 (xlsx)" }); errorchk = 1; } // result.data = error; } catch (Exception e) { if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } result.error = 1; result.msg = e.Message; } return(Json(new ResultInfo() { error = 0, msg = "", data = error }, JsonRequestBehavior.AllowGet)); }