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);
        }
Example #2
0
 /// <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);
     }
 }
Example #3
0
        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);
            }
        }