public HttpResponseMessage GetSiteAnalyticsVendorSummary(int vendorID, DateTime startDate, DateTime endDate) //public FileStreamResult GetSiteAnalyticsVendorSummary(int vendorID, DateTime startDate, DateTime endDate) { string vendorName = _repository.FindVendorByID(vendorID).VendorName; List <SiteAnalyticsVendorSummary> siteAnalytics = _repository.GetSiteAnalyticsForVendor(vendorID, startDate, endDate); ExcelCreate eh = new ExcelCreate(); MemoryStream ms = eh.CreateVendorAnalyticsSummaryAsStream(siteAnalytics, vendorName, startDate, endDate); ms.Position = 0; HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); result.Content = new StreamContent(ms); //result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-excel"); //result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/force-download"); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); string fileName = vendorName + "_" + startDate.Day.ToString() + "-" + startDate.Month.ToString() + "-" + startDate.Year.ToString() + "_to_" + endDate.Day.ToString() + "-" + endDate.Month.ToString() + "-" + endDate.Year.ToString() + ".xlsx" ; result.Content.Headers.ContentDisposition.FileName = fileName; return(result); }
/// <summary> /// 生成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCreate_Click(object sender, EventArgs e) { try { //创建附件目录 string dir = Path.GetFullPath(@"..\..\Accessory"); string time = DateTime.Now.ToString("yyyyMMddhhmmss"); _accessoryDir = string.Format("{0}\\{1}", dir, time); Directory.CreateDirectory(_accessoryDir); //开始生成内存数据 int month = int.Parse(txtMonth.Text.Trim()); DataTable dt = DataHelper.CreateDataTableByExcel(txtFile.Text, "任务明细"); List <PersonalPerformance> pps = DataHelper.CreatePersonalPerformanceNew(dt, _persons, "研发中心", month); var noTaskPPS = DataHelper.CreatePersonalPerformance(_persons, pps, "研发中心", month); pps.AddRange(noTaskPPS); List <float> scores = DataHelper.GetSortedScores(pps); //开始生成新的Excel string path = ""; progressBarState.Minimum = 0; progressBarState.Maximum = pps.Count; progressBarState.Step = 1; progressBarState.Value = 0; foreach (var pp in pps) { if (progressBarState.InvokeRequired) { progressBarState.Invoke(new Action(() => progressBarState.PerformStep())); } else { progressBarState.PerformStep(); } string accessory = pp.Person.Accessory; try { path = string.Format("{0}\\{1}", _accessoryDir, accessory); //创建Excel ExcelCreate.Create(pp, path, scores); LogHelper.WriteNormalInfo(accessory + "生成成功。"); } catch (Exception ex) { LogHelper.WriteErrorInfo(string.Format("{0}生成失败!失败原因:{1}", accessory, ex.Message)); } } //显示日志 LogHelper.DisplayLog(txtNormal, LogLevel.Normal); LogHelper.DisplayLog(txtWarn, LogLevel.Warn); LogHelper.DisplayLog(txtError, LogLevel.Error); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public SiteAnalyticOutput[] GetSiteAnalytics(string sessionID) { try { ExcelCreate eh = new ExcelCreate(); eh.Main(); List <SiteAnalyticOutput> siteAnalytics = _repository.GetAllSiteAnalyticsBySession(sessionID); return(siteAnalytics.ToArray()); } catch (Exception e) { return(null); } }