コード例 #1
0
        public int UploadSuppliers(string fileName, bool isInitial = false)
        {
            ExcelPackage     package;
            IList <Supplier> listOfSupplier = new List <Supplier>();

            if (isInitial)
            {
                byte[] excelFile      = Resource.仓库物品资料汇总表;
                var    templateStream = new MemoryStream(excelFile);
                package = new ExcelPackage(templateStream);
            }
            else
            {
                if (string.IsNullOrEmpty(fileName))
                {
                    return(-2);
                }
                var fi = new FileInfo(fileName);
                package = new ExcelPackage(fi);
            }
            var            workbook  = package.Workbook;
            ExcelWorksheet worksheet = workbook.Worksheets["供应商信息表Vendor Master"];//供应商信息表Vendor Master

            if (worksheet == null)
            {
                return(0);
            }
            var end = worksheet.Dimension.End;

            for (var row = 6; row < end.Row; row++)
            {
                var supplierObj = new Supplier {
                    Id = Guid.NewGuid()
                };
                for (var col = 1; col <= worksheet.Dimension.End.Column; col++)
                {
                    var readValue = worksheet.Cells[row, col].Value == null ? "" : worksheet.Cells[row, col].Value.ToString();
                    switch (col)
                    {
                    case 2:
                        supplierObj.IsActive = readValue == "Active";
                        break;

                    case 3:
                        supplierObj.Name = readValue;
                        break;
                    }
                }
                listOfSupplier.Add(supplierObj);
            }

            try
            {
                _supplierRepository.AddRange(listOfSupplier);
                _supplierRepository.Save();
                return(1);
            }
            catch (DbUpdateException)
            {
                return(0);
            }
        }