protected override void WriteFile(System.Web.HttpResponseBase response)
        {
            int _bufferSize = (int)Math.Round(1024 * this.rate);

            byte[] buffer = new byte[_bufferSize];

            Stream outputStream = response.OutputStream;

            using (var stream = File.OpenRead(FileName))
            {
                response.AddHeader("Cache-control", "private");
                response.AddHeader("Content-Type", "application/octet-stream");
                response.AddHeader("Content-Length", stream.Length.ToString());
                response.AddHeader("Content-Disposition", String.Format("filename={0}", new FileInfo(FileName).Name));
                response.Flush();

                while (true)
                {
                    if (!response.IsClientConnected)
                    {
                        break;
                    }

                    int bytesRead = stream.Read(buffer, 0, _bufferSize);
                    if (bytesRead == 0)
                    {
                        break;
                    }

                    outputStream.Write(buffer, 0, bytesRead);
                    response.Flush();
                    Thread.Sleep(1000);
                }
            }
        }
        public static void Generate(System.Web.HttpResponseBase Response, Campaign campaign, CampaignTracking campaignTracking)
        {
            var metric = CampaignTrackingMetricVm.FromCampaignTracking(campaign, campaignTracking);
            var urls   = CampaignTrackingMetricDetailVm.FromCampaignTracking(campaign, campaignTracking);

            ExcelPackage excel     = new ExcelPackage();
            var          workSheet = excel.Workbook.Worksheets.Add("Strat Metrics");

            workSheet.Cells[1, 1].LoadFromCollection(metric, true);
            workSheet.Cells[2, 8].Style.Numberformat.Format  = "0.00%";
            workSheet.Cells[2, 11].Style.Numberformat.Format = "0.00%";
            workSheet.Cells[2, 12].Style.Numberformat.Format = "0.00%";

            var workSheet2 = excel.Workbook.Worksheets.Add("Strat URLs");

            workSheet2.Cells[1, 1].LoadFromCollection(urls, true);

            using (var memoryStream = new MemoryStream())
            {
                string orderNumber = campaign.ReBroadcasted ? $"{campaign.ReBroadcastedOrderNumber}" : $"{campaign.OrderNumber}";
                string fileName    = $"{orderNumber}report.xlsx";
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader($"content-disposition", $"attachment;  filename={fileName}");
                excel.SaveAs(memoryStream);
                memoryStream.WriteTo(Response.OutputStream);
                Response.Flush();
                Response.End();
            }
        }
 protected override void WriteFile(System.Web.HttpResponseBase response)
 {
     response.Clear();
     response.AddHeader("content-disposition", "attachment; filename=" + DownloadedFilename);
     response.ContentType = this.ContentType;
     response.WriteFile(Path);
     response.Flush();
     System.IO.File.Delete(Path);
     response.End();
 }
Exemplo n.º 4
0
        public void ToFile(object sourceData, System.Web.HttpResponseBase Response, string reportName = "ReportsDownload", EXPORTTYPE exportType = EXPORTTYPE.EXCEL)
        {
            var grid = new GridView();

            grid.DataSource = sourceData;
            grid.DataBind();
            Response.ClearContent();
            Response.Buffer  = true;
            Response.Charset = "";
            StringWriter   sw  = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);

            switch (exportType)
            {
            case EXPORTTYPE.EXCEL:
            {
                Response.AddHeader("content-disposition", "attachment; filename=" + reportName + ".xls");
                Response.ContentType = "application/ms-excel";
                break;
            }

            case EXPORTTYPE.WORD:
            {
                Response.AddHeader("content-disposition", "attachment; filename=" + reportName + ".doc");
                Response.ContentType = "application/ms-word";
                break;
            }

            case EXPORTTYPE.PDF:
                break;
            }
            grid.RenderControl(htw);
            Response.Output.Write(sw.ToString());
            Response.Flush();
            Response.End();
        }
Exemplo n.º 5
0
        public static void Generate(System.Web.HttpResponseBase Response, string whiteLabel, List <Campaign> campaigns)
        {
            ExcelPackage excel     = new ExcelPackage();
            var          workSheet = excel.Workbook.Worksheets.Add(whiteLabel);

            List <CustomerOrdersStatusVm> customerOrders = new List <CustomerOrdersStatusVm>();

            foreach (var campaign in campaigns)
            {
                customerOrders.Add(CustomerOrdersStatusVm.FromCampaign(campaign));
            }

            workSheet.Cells[1, 1].LoadFromCollection(customerOrders, true);

            var headerRowComplete = workSheet.Row(1);

            headerRowComplete.Style.Font.Size = 13;
            headerRowComplete.Style.Font.Bold = true;

            int Row = 2;

            foreach (var campaign in campaigns)
            {
                var rowComplete = workSheet.Row(Row);
                rowComplete.Style.Fill.PatternType = ExcelFillStyle.Solid;

                if (campaign.Status == (int)CampaignStatus.Monitoring)
                {
                    rowComplete.Style.Fill.BackgroundColor.SetColor(Color.DarkOrange);
                }
                else
                {
                    rowComplete.Style.Fill.BackgroundColor.SetColor(Color.MediumPurple);
                }
                Row++;
            }

            using (var memoryStream = new MemoryStream())
            {
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader("content-disposition", "attachment;  filename=" + whiteLabel + "OrdersReport.xlsx");
                excel.SaveAs(memoryStream);
                memoryStream.WriteTo(Response.OutputStream);
                Response.Flush();
                Response.End();
            }
        }
Exemplo n.º 6
0
        /**
         *
         */
        public void downloadExcel(System.Web.HttpResponseBase OResponse, System.Web.UI.WebControls.GridView OGrid, string nomeDownload)
        {
            OResponse.ClearContent();
            OResponse.Buffer = true;
            OResponse.AddHeader("content-disposition", "attachment; filename=" + nomeDownload);
            OResponse.ContentType     = "application/ms-excel";
            OResponse.ContentEncoding = Encoding.GetEncoding(28592);

            OResponse.Charset = "";
            StringWriter   sw  = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);

            OGrid.RenderControl(htw);

            OResponse.Output.Write(sw.ToString());
            OResponse.Flush();
            OResponse.End();
        }
Exemplo n.º 7
0
        public static bool Render(System.Web.HttpResponseBase Response,
                                  Excel.IWorkbookBase workbook, string fileName)
        {
            // AiLib.Report.Excel.IWorkbookBase workbook

            // http://dotnetslackers.com/articles/aspnet/Create-Excel-Spreadsheets-Using-NPOI.aspx
            // Save the Excel spreadsheet to a MemoryStream and return it to the client

            using (var exportData = new MemoryStream())
            {
                workbook.Write(exportData);

                string saveAsFileName = fileName;
                Response.ContentType = ContentExcel;
                Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", saveAsFileName));
                Response.Clear();
                Response.BinaryWrite(exportData.GetBuffer());
                Response.End();
            }

            return(true);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Create an Excel file, and write it out to a MemoryStream (rather than directly to a file)
        /// </summary>
        /// <param name="ds">DataSet containing the data to be written to the Excel.</param>
        /// <param name="filename">The filename (without a path) to call the new Excel file.</param>
        /// <param name="Response">HttpResponse of the current page.</param>
        /// <returns>Either a MemoryStream, or NULL if something goes wrong.</returns>
        public static bool CreateExcelDocumentAsStream(DataSet ds, string filename, System.Web.HttpResponseBase Response)
        {
            try
            {
                System.IO.MemoryStream stream = new System.IO.MemoryStream();
                using (SpreadsheetDocument document = SpreadsheetDocument.Create(stream, SpreadsheetDocumentType.Workbook, true))
                {
                    WriteExcelFile(ds, document);
                }
                stream.Flush();
                stream.Position = 0;

                Response.ClearContent();
                Response.Clear();
                Response.Buffer  = true;
                Response.Charset = "";

                //  NOTE: If you get an "HttpCacheability does not exist" error on the following line, make sure you have
                //  manually added System.Web to this project's References.

                Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
                Response.AddHeader("content-disposition", "attachment; filename=" + filename);
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                byte[] data1 = new byte[stream.Length];
                stream.Read(data1, 0, data1.Length);
                stream.Close();
                Response.BinaryWrite(data1);
                Response.Flush();
                Response.End();

                return(true);
            }
            catch (Exception ex)
            {
                Trace.WriteLine("Failed, exception thrown: " + ex.Message);
                return(false);
            }
        }
Exemplo n.º 9
0
 /// <summary>
 /// 新增返回头信息
 /// </summary>
 /// <param name="HttpResponse"></param>
 internal static void CustClientInfo(System.Web.HttpRequestBase HttpRequest, System.Web.HttpResponseBase HttpResponse)
 {
     HttpResponse.AddHeader("T", DateTime.Now.ToString());
 }