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;
}