try ???????????{ ???????????????var workbook = new XLWorkbook(); ???????????????if (Workbook != null) ???????????????{ ???????????????????workbook = Workbook; ???????????????} ???????????????if (this.ExportData != null || this.Workbook != null) ???????????????{ ???????????????????context.HttpContext.Response.Clear(); ???????????????????// 编码 ???????????????????context.HttpContext.Response.ContentEncoding = Encoding.UTF8; ???????????????????// 设置网页ContentType ???????????????????context.HttpContext.Response.ContentType = ???????????????????????"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; ???????????????????// 导出名字 ???????????????????var browser = context.HttpContext.Request.Browser.Browser; ???????????????????var exportFileName = browser.Equals("Firefox", StringComparison.OrdinalIgnoreCase) ???????????????????????? this.FileName ???????????????????????: HttpUtility.UrlEncode(this.FileName, Encoding.UTF8); ???????????????????context.HttpContext.Response.AddHeader( ???????????????????????"Content-Disposition", ???????????????????????string.Format("attachment;filename={0}", exportFileName)); ???????????????????// Add all DataTables in the DataSet as a worksheets ???????????????????if (ExportData != null) ???????????????????????workbook.Worksheets.Add(this.ExportData, this.SheetName); ???????????????????using (var memoryStream = new MemoryStream()) ???????????????????{ ???????????????????????workbook.SaveAs(memoryStream); ???????????????????????memoryStream.WriteTo(context.HttpContext.Response.OutputStream); ???????????????????????memoryStream.Close(); ???????????????????} ???????????????} ???????????????workbook.Dispose(); ???????????} ???????????catch ???????????{ ???????????????throw; ???????????}
asp.net文件流下载的代码摘要
原文地址:http://www.cnblogs.com/coolyylu/p/8028800.html