public void ExportPurchaseData(Hyt.Model.InventorySheet.WhInventoryDetail list, string userIp, int operatorSysno) { try { // 查询商品 List <WhInventoryProductDetailOutput> outputData = new List <WhInventoryProductDetailOutput>(); foreach (var item in list.dataList) { WhInventoryProductDetailOutput model = new WhInventoryProductDetailOutput(); model.WarehouseNameDate = item.WarehouseNameDate; model.PrCode = item.ErpCode; model.PrName = item.EasName; model.ZhangCunQuantity = item.ZhangCunQuantity; model.InventoryQuantity = item.InventoryQuantity; model.Remarks = item.Remarks; outputData.Add(model); } var fileName = string.Format("" + list.Code + "({0})", DateTime.Now.ToString("yyyyMMddHHmmss")); /* * 仓库名称 * 商品编码 * 后台显示名称 * 条形码 * 海关备案号 * 采购价格 * 库存数量 */ //导出Excel,并设置表头列名 Util.ExcelUtil.Export <WhInventoryProductDetailOutput>(outputData, new List <string> { "仓库名称", "商品编号", "商品名称", "账存数量", "盘点数量", "备注" }, fileName); SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Info, LogStatus.系统日志来源.后台, "盘点数据录入商品导出excel", LogStatus.系统日志目标类型.ExcelExporting, 0, null, userIp, operatorSysno); } catch (Exception ex) { SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Error, LogStatus.系统日志来源.后台, "盘点数据录入商品导出excel", LogStatus.系统日志目标类型.ExcelExporting, 0, ex, userIp, operatorSysno); } }
public Resuldt <WhInventoryProductDetailOutput> ImportExcelTo(System.IO.Stream stream, int SysNo) { DataTable dt = null; var cols = DicColsMappingTo.Select(p => p.Value).ToArray(); #region 基础验证 try { dt = ExcelUtil.ImportExcel(stream, cols); } catch (Exception ex) { return(new Resuldt <WhInventoryProductDetailOutput> { Message = string.Format("数据导入错误,请选择正确的excel文件"), Status = false }); } if (dt == null) { //not all the cols mapped return(new Resuldt <WhInventoryProductDetailOutput> { Message = string.Format("请选择正确的excel文件!"), Status = false }); } if (dt.Rows.Count == 0) { return(new Resuldt <WhInventoryProductDetailOutput> { Message = "导入的数据为空!", Status = false }); } #endregion Resuldt <WhInventoryProductDetailOutput> run = new Resuldt <WhInventoryProductDetailOutput>(); List <WhInventoryProductDetailOutput> listModel = new List <WhInventoryProductDetailOutput>(); int fail = 0; //失败记录数 int success = 0; //成功记录数 string failstr = ""; //失败条数记录 for (int i = 0; i < dt.Rows.Count; i++) { success++; WhInventoryProductDetailOutput model = new WhInventoryProductDetailOutput(); model.WarehouseNameDate = dt.Rows[i]["仓库名称"].ToString(); model.PrCode = dt.Rows[i]["商品编号"].ToString(); model.PrName = dt.Rows[i]["商品名称"].ToString(); model.ZhangCunQuantity = Convert.ToDecimal(dt.Rows[i]["账存数量"]); model.InventoryQuantity = Convert.ToDecimal(dt.Rows[i]["盘点数量"]); model.Remarks = dt.Rows[i]["备注"].ToString(); listModel.Add(model); } if (success > 0 && dt.Rows.Count > 0) { run.Data = null; } if (success > 0 && listModel != null) { run.listModel = listModel; } run.Message = "导入成功" + success + "件商品,失败" + fail + "件商品;"; if (fail > 0) { run.Message += "失败原因为:产品编码或仓库erp编码有误,不存在此件商品。失败条数为第" + failstr.Trim('、') + "条。"; } run.Status = true; return(run); }