ASP.NET-我正在生成一个.XLS文件,需要将其发送给访问者

ASP.NET-我正在生成一个.XLS文件,需要将其发送给访问者,asp.net,iis,Asp.net,Iis,当用户单击按钮时,服务器将生成一个Excel文件 生成时,我需要将其作为标准下载发送给用户 这样做的正确方法是将用户重定向到Excel文件的路径吗 谢谢您是否控制创建文件的过程?您可以设置内容类型并将结果直接流式传输到浏览器,而无需实际创建Excel文件的物理副本来保存步骤。通常我所做的是在页面上为用户提供指向该文件的链接——通常是。实际生成文件live的处理程序——然后使用javascript将页面位置设置为链接中的href。由于文件是一个附件,它不会重定向页面,而是打开下载对话框。如果由于某

当用户单击按钮时,服务器将生成一个Excel文件

生成时,我需要将其作为标准下载发送给用户

这样做的正确方法是将用户重定向到Excel文件的路径吗


谢谢

您是否控制创建文件的过程?您可以设置内容类型并将结果直接流式传输到浏览器,而无需实际创建Excel文件的物理副本来保存步骤。

通常我所做的是在页面上为用户提供指向该文件的链接——通常是。实际生成文件live的处理程序——然后使用javascript将页面位置设置为链接中的href。由于文件是一个附件,它不会重定向页面,而是打开下载对话框。如果由于某种原因,下载没有启动(比如说javascript被关闭),用户可以随时单击链接下载文档。

将其作为附件流式传输

byte[] bytes = your generated file
Response.ClearHeaders();
Response.Clear();
Response.AddHeader( "Content-Disposition", "attachment; filename=bob.xls" );
Response.ContentType = "application/vnd.ms-excel";
Response.BinaryWrite( bytes );
Response.End();