我可以从ASP.NET页面下载由内存流制作的Excel文件吗?

And*_*way 3 c# asp.net excel epplus

我有一个用户提供ID的ASP.NET页面,然后我们从数据库中提取一些数据并将其放入Excel电子表格中.我想在内存中创建Excel文件,然后允许用户下载该文件.我可以在服务器上创建一个文件,然后删除它,但似乎没必要.根据错误处理,我可能使用该方法孤立文件等.

这样的事情可能吗?或者我需要使用文件流吗?

另外,我正在使用EPPlus作为API(快速插件).

dan*_*ana 9

你想要像这样指定content-typecontent-dispisition标题 - Response.ContentType ="application/vnd.ms-excel"在IE和Firefox中工作但在Safari中不起作用,然后流式传输你的文件.完成后,调用Response.End()以停止应用程序执行

代码示例:

void StreamExcelFile(byte[] bytes)
{
    Response.Clear();
    Response.ContentType = "application/force-download";
    Response.AddHeader("content-disposition", "attachment; filename=name_you_file.xls");
    Response.BinaryWrite(bytes);
    Response.End();
}
Run Code Online (Sandbox Code Playgroud)