public IHttpActionResult DownloadExcel(string code, long feeNo = 0, DateTime?startDate = null, DateTime?endDate = null) { string mapPath = HttpContext.Current.Server.MapPath(VirtualPathUtility.GetDirectory("~")); IReportManageService reportManageService = IOCContainer.Instance.Resolve <IReportManageService>(); string path = string.Empty; switch (code) { case "H20": if (startDate.HasValue) { path = string.Format(@"{0}Templates\{1}.xls", mapPath, "H20"); reportManageService.DownloadUnPlanedIpdStatisticsFile(startDate.Value.Year, path); } break; case "H49": if (startDate.HasValue) { path = string.Format(@"{0}Templates\{1}.xls", mapPath, "H49"); reportManageService.DownloadInfectionStatisticsFile(startDate.Value.Year, path); } break; case "H50": if (startDate.HasValue) { path = string.Format(@"{0}Templates\{1}.xls", mapPath, "H50"); reportManageService.DownloadH50(startDate.Value.Year, path); } break; case "H76": if (startDate.HasValue && endDate.HasValue) { path = string.Format(@"{0}Templates\{1}.xls", mapPath, "H76"); reportManageService.DownloadPrsSoreRisk(path, feeNo, startDate, endDate); } break; case "H77": path = string.Format(@"{0}Templates\{1}.xls", mapPath, "H77"); reportManageService.DownloadH77(feeNo, path, startDate, endDate); break; case "H79": path = string.Format(@"{0}Templates\{1}.xls", mapPath, "H79"); reportManageService.DownloadH79(feeNo, path); break; case "P19": path = string.Format(@"{0}Templates\{1}.xls", mapPath, "P19"); int seqNo = 0; if (int.TryParse(HttpContext.Current.Request["seqNo"], out seqNo)) { reportManageService.DownloadP19(seqNo, path); } break; case "View": this.View(); break; } //HttpContext.Current.Response.AddHeader("Content-type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); //HttpContext.Current.Response.AddHeader("Accept-Ranges", "bytes"); //HttpContext.Current.Response.AddHeader("Content-Length", new System.IO.FileInfo(swfFilePath).Length.ToString()); //HttpContext.Current.Response.WriteFile(swfFilePath); //HttpContext.Current.Response.End(); return(Ok()); }