public ReadFromExcelDto <KhachHang> ReadFromExcel(string FilePath) { ReadFromExcelDto <KhachHang> result = new ReadFromExcelDto <KhachHang>(); var Data = ReadFile(FilePath, "DanhSachKhachHang"); if (Data.Count <= 0 || Data[0].Count < 4) { result.ResultCode = (int)Global.GlobalConst.ReadExcelResultCode.CantReadData; result.ErrorMessage = "Không đọc được dữ liệu, sai cấu trúc file hoặc dữ liệu rỗng!"; } else { for (int i = 0; i < Data.Count; i++) { try { string Name = Data[i][1]; string PhoneNumber = Data[i][2]; string Address = Data[i][3]; if (string.IsNullOrWhiteSpace(Name) || PhoneNumber.Length > 32 || Address.Length > 4000) { result.ListErrorRow.Add(Data[i]); } else { result.ListResult.Add(new KhachHang { Name = Name, PhoneNumber = PhoneNumber, Address = Address }); } } catch { result.ListErrorRow.Add(Data[i]); } } } return(result); }
public async Task <ReadFromExcelDto <CongViec> > ReadFromExcel(string FilePath) { // Lấy thông tin trạm dịch vụ để tra cứu Id từ mã trạm var TramDichVus = await _tramDichVuRepository.GetAll().ToListAsync(); SortedList <string, int> SortedTramDichVu = new SortedList <string, int>(); foreach (var tram in TramDichVus) { if (!SortedTramDichVu.ContainsKey(tram.Code)) { SortedTramDichVu.Add(tram.Code, tram.Id); } } ReadFromExcelDto <CongViec> result = new ReadFromExcelDto <CongViec>(); var Data = ReadFile(FilePath, "DanhSachCongViec"); if (Data.Count <= 0 || Data[0].Count < 4) { result.ResultCode = (int)Global.GlobalConst.ReadExcelResultCode.CantReadData; result.ErrorMessage = "Không đọc được dữ liệu, sai cấu trúc file hoặc dữ liệu rỗng!"; } else { for (int i = 0; i < Data.Count; i++) { try { DateTime?NgayHen = null; if (!string.IsNullOrWhiteSpace(Data[i][1])) { NgayHen = DateTime.FromOADate(double.Parse(Data[i][1])); } string SoGiaoNhan = Data[i][2]; string MaTram = Data[i][3]; //string TenTram = Data[i][4]; string TenKhachHang = Data[i][5]; string SoDienThoai = Data[i][6]; string DiaChi = Data[i][7]; string TenSanPham = Data[i][8]; string Model = Data[i][9]; string Serial = Data[i][10]; string HienTuongLoi = Data[i][11]; if (string.IsNullOrWhiteSpace(SoDienThoai)) { result.ListErrorRow.Add(Data[i]); } else { var newCongViec = new CongViec { NgayGioHen = NgayHen, SoGiaoNhan = SoGiaoNhan, KhachHangName = TenKhachHang, SoDienThoai = SoDienThoai, DiaChi = DiaChi, SanPhamName = TenSanPham, SanPhamModel = Model, SanPhamSerial = Serial, NoiDung = HienTuongLoi, // các trường bắt buộc TieuDe = "", ThanhTien = 0, TrangThaiId = 0, DaCapNhatLocation = false, TimeId = string.Format("{0:yyyyMM}", DateTime.Now) }; // Kiểm tra nếu có mã trạm thì tìm TramDichVuId if (!string.IsNullOrWhiteSpace(MaTram) && SortedTramDichVu.ContainsKey(MaTram)) { newCongViec.TramDichVuId = SortedTramDichVu[MaTram]; } // Kiểm tra Địa chỉ khác null thì tính Location if (!string.IsNullOrWhiteSpace(DiaChi)) { newCongViec.Location = await Global.GlobalFunction.GetLongLatFromAddress(_globalCache.GetGoogleApiKey(), DiaChi); } result.ListResult.Add(newCongViec); } } catch { result.ListErrorRow.Add(Data[i]); } } } return(result); }
/// <summary> /// Import excel. /// </summary> /// <param name="FilePath">Đường dẫn file trên server.</param> /// <returns>Danh sách đường dẫn.</returns> public async Task <string> ImportFileExcel(string FilePath) { StringBuilder returnMessage = new StringBuilder(); returnMessage.Append("Kết quả nhập file:"); ReadFromExcelDto <Demo> readResult = new ReadFromExcelDto <Demo>(); // Không tìm thấy file if (!File.Exists(FilePath)) { readResult.ResultCode = (int)GlobalConst.ReadExcelResultCode.FileNotFound; } // Đọc hết file excel var data = await GlobalFunction.ReadFromExcel(FilePath); // Không có dữ liệu if (data.Count <= 0) { readResult.ResultCode = (int)GlobalConst.ReadExcelResultCode.CantReadData; } else { // Đọc lần lượt từng dòng for (int i = 0; i < data.Count; i++) { try { string ma = data[i][0]; string ten = data[i][1]; var checkboxTrueFalse = data[i][2] == "1" ? true : false; var dropdownSingle = int.Parse(data[i][3]); var autoCompleteSingle = int.Parse(data[i][4]); var newDemo = new Demo { Ma = ma, Ten = ten, CheckboxTrueFalse = checkboxTrueFalse, DropdownSingle = dropdownSingle, AutoCompleteSingle = autoCompleteSingle, }; // Thêm các bản ghi hợp lệ vào db await this.demoRepository.InsertAsync(newDemo); // Đánh dấu các bản ghi thêm thành công readResult.ListResult.Add(newDemo); } #pragma warning disable CA1031 // Do not catch general exception types catch #pragma warning restore CA1031 // Do not catch general exception types { // Äánh dấu các bản ghi lá»—i readResult.ListErrorRow.Add(data[i]); } } } // Thông tin import readResult.ErrorMessage = GlobalModel.ReadExcelResultCode[readResult.ResultCode]; // Nếu đọc file thất bại if (readResult.ResultCode != 200) { return(readResult.ErrorMessage); } else { // Đọc file thành công // Trả kết quả import returnMessage.Append(string.Format("\r\n\u00A0- Tổng ghi: {0}", readResult.ListResult.Count + readResult.ListErrorRow.Count)); returnMessage.Append(string.Format("\r\n\u00A0- Số bản ghi thành công: {0}", readResult.ListResult.Count)); returnMessage.Append(string.Format("\r\n\u00A0- Số bản ghi thất bại: {0}", readResult.ListErrorRow.Count)); } return(returnMessage.ToString()); }