private void ImportExcel(String importPath) { try { List <ImportPfInfosPara> items = new List <ImportPfInfosPara>(); List <ImportPfInfosPara> incorrectItems = new List <ImportPfInfosPara>(); DataTable dt = NPOIHelper.FormatToDatatable(importPath, 0); if (dt.Rows.Count == 0) { //没有任何记录 ShowMessage("没有可以导入的信息!"); CompleteEdit(); return; } InitProgress(dt.Rows.Count); for (int i = 0; i < dt.Rows.Count; i++) { UpdateProgress("加载数据:"); if (progressStop) { break; } DataRow row = dt.Rows[i]; ImportPfInfosPara item = new ImportPfInfosPara(); try { item.Index = i + 1; item.CostumeID = CommonGlobalUtil.ConvertToString(row[0]); item.BarCodeValue = CommonGlobalUtil.ConvertToString(row[1]); item.Name = CommonGlobalUtil.ConvertToString(row[2]); item.Colors = CommonGlobalUtil.ConvertToString(row[3]).Replace(",", ","); item.BigClass = CommonGlobalUtil.ConvertToString(row[4]); item.Price = Convert.ToDecimal(row[5]); item.PhotoName = CommonGlobalUtil.ConvertToString(row[6]); item.IsNew = CommonGlobalUtil.ConvertToString(row[7]) == "是"; item.IsHot = CommonGlobalUtil.ConvertToString(row[8]) == "是"; } catch (Exception ex) { } if (!(String.IsNullOrEmpty(item.CostumeID) || String.IsNullOrEmpty(item.Name))) { item.CostumeID = CommonGlobalCache.GetCorrectCostumeID(item.CostumeID); items.Add(item); } else { incorrectItems.Add(item); } } if (incorrectItems.Count > 0) { String str = string.Empty; str = str.Substring(0, str.LastIndexOf(",")); ShowError("以下行数中,款号/名称为空,请重新检查!\r\n" + str); return; } if (items == null || items.Count == 0) { ShowMessage("没有数据可以导入,请检查会员信息!"); return; } String failImgs = String.Empty; String tooLargeImgs = String.Empty; InitProgress(items.Count); foreach (var item in items) { if (progressStop) { break; } UpdateProgress("检查图片:"); //if (!String.IsNullOrEmpty(item.PhotoName)) //{ //找图片并上传 try { String imagePath = Path.GetDirectoryName(path) + "//" + item.PhotoName; if (!File.Exists(imagePath)) { failImgs += "第" + item.Index + "行 款号:" + item.CostumeID; failImgs += "\r\n"; } else { Image img = JGNet.Core.ImageHelper.FromFileStream(imagePath); MemoryStream stream = new MemoryStream(); byte[] photo = stream.ToArray(); img = JGNet.Core.ImageHelper.GetNewSizeImage(img, 800); stream = new MemoryStream(); img.Save(stream, System.Drawing.Imaging.ImageFormat.Png); photo = stream.ToArray(); if (photo.Length > 2097152) { tooLargeImgs += "第" + item.Index + "行 款号:" + item.CostumeID; tooLargeImgs += "\r\n"; //return; } } } catch (Exception ex) { FailedProgress(ex); } // } } if (!String.IsNullOrEmpty(failImgs)) { FailedProgress(new Exception("以下图片不存在:" + "\r\n" + failImgs)); return; } else if (!String.IsNullOrEmpty(tooLargeImgs)) { FailedProgress(new Exception("以下图片太大:" + "\r\n" + tooLargeImgs)); return; } InteractResult result = GlobalCache.ServerProxy.ImportPfInfos(items); switch (result.ExeResult) { case ExeResult.Success: break; case ExeResult.Error: // ShowMessage(result.Msg); FailedProgress(new Exception(result.Msg)); return; default: break; } try { InitProgress(items.Count); foreach (var item in items) { if (progressStop) { break; } UpdateProgress("图片上传:"); //if (!String.IsNullOrEmpty(item.PhotoName)) //{ //找图片并上传 String[] colors = item.Colors.Split(','); String imagePath = Path.GetDirectoryName(path) + "//" + item.PhotoName; String newFileName = JGNet.Core.ImageHelper.GetNewFileName(item.CostumeID, item.PhotoName); Image img = JGNet.Core.ImageHelper.FromFileStream(imagePath); MemoryStream stream = new MemoryStream(); byte[] photo = stream.ToArray(); img = JGNet.Core.ImageHelper.GetNewSizeImage(img, 800); stream = new MemoryStream(); img.Save(stream, System.Drawing.Imaging.ImageFormat.Png); photo = stream.ToArray(); EmCostumePhoto emPhoto = new EmCostumePhoto() { Image = img, SavePath = imagePath, IsMain = true, CostumeID = item.CostumeID, //ColorName = ValidateUtil.CheckEmptyValue(this.skinComboBox_Color.SelectedValue), Bytes = photo, PhotoName = newFileName }; PhotoData data = new PhotoData() { Datas = emPhoto.Bytes, EmCostumePhoto = emPhoto, Name = item.PhotoName }; WriteLog("UploadPhotoToCos:" + item.CostumeID); GlobalCache.ServerProxy.UploadPhotoToCos(data); // Thread.Sleep(1000); } ShowMessage("导入成功!"); } catch (Exception ex) { FailedProgress(ex); } CompleteEdit(); } catch (Exception ex) { ShowError(ex); } finally { UnLockPage(); EnablePanel(); } }