Пример #1
0
        //edit by xiangwang0413w 2014/10/20
        /// <summary>
        /// 庫存資料匯出(單一商品)
        /// </summary>
        /// <param name="query">查詢條件</param>
        /// <returns>excel文件</returns>
        public ActionResult ExportProduct(QueryVerifyCondition query, int exportFlag, string cols)
        {
            try
            {
                #region 查詢條件
                query.category_id = query.category_id == 2 ? 0 : query.category_id;
                query.date_type = query.date_type ?? "";
                if (!string.IsNullOrEmpty(query.time_start))
                    query.time_start = CommonFunction.GetPHPTime(Convert.ToDateTime(query.time_start).ToString("yyyy/MM/dd 00:00:00")).ToString();
                else query.time_start = "";
                if (!string.IsNullOrEmpty(query.time_end))
                    query.time_end = CommonFunction.GetPHPTime(Convert.ToDateTime(query.time_end).ToString("yyyy/MM/dd 23:59:59")).ToString();
                else query.time_end = "";
                #endregion

                _productMgr = new ProductMgr(connectionString);
                string xmlPath = string.Empty;
                switch (exportFlag)
                {
                    case 1://庫存資料匯出(單一商品)
                        xmlPath = "../XML/ProductStock.xml";
                        break;
                    case 2: //商品資料匯出
                        xmlPath = "../XML/ProductInfo.xml";
                        break;
                    case 3://商品價格匯出
                        xmlPath = "../XML/ProductPrice.xml";
                        break;
                    case 4:
                        xmlPath = "../XML/ItemPrice.xml";
                        break;
                    case 5://預購商品匯出  (沒有這個XML只是使用公用方法以防報錯)guodong1130w 2015/9/21
                        xmlPath = "../XML/ProductInfo.xml";
                        break;
                }

                MemoryStream ms = _productMgr.ExportProductToExcel(query, exportFlag, cols, Server.MapPath(xmlPath));//根據查詢條件和xml路徑得到excel文件流
                return File(ms.ToArray(), "application/-excel", DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                return Content("export errer");
            }
        }