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(); }
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(); }
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(); } }
/** * */ 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(); }
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); }
/// <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); } }
/// <summary> /// 新增返回头信息 /// </summary> /// <param name="HttpResponse"></param> internal static void CustClientInfo(System.Web.HttpRequestBase HttpRequest, System.Web.HttpResponseBase HttpResponse) { HttpResponse.AddHeader("T", DateTime.Now.ToString()); }