单击按钮上的ASP.NET Excel文件下载

Its*_*dly 3 c# asp.net excel file download

作为前言,所有这些都发生在本地Intranet上,在任何时候都不需要连接到Internet.

我有一个运行查询的数据库,之后用户按下"下载电子表格"按钮,创建/发送电子表格.电子表格的创建工作正常,但经过多次尝试后我无法下载该文件.这是我尝试过的:

  • 修改Response/Header对象
    • 的TransmitFile
    • WriteFile的
    • BinaryStream
    • 重定向
  • Javascript重定向
    • Response.Write(javascript代码)

在大多数情况下,结果是创建了excel文件,但没有发生重定向/下载.在Response.Redirect()的情况下,如果它是一个网站,它工作得很好,但如果它是一个重定向到file:///,那么它会抛出一个线程异常,但没有更多细节.

我怀疑它与ASP.NET文档的生命周期有关,但我担心我对ASP.NET的经验不足以确定无疑.

Sha*_*lti 18

FileInfo file = new FileInfo(PathToExcelFile);
if (file.Exists)
{
   Response.Clear();
   Response.ClearHeaders();
   Response.ClearContent();
   Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
   Response.AddHeader("Content-Type", "application/Excel");
   Response.ContentType = "application/vnd.xls";
   Response.AddHeader("Content-Length", file.Length.ToString());
   Response.WriteFile(file.FullName);
   Response.End();
}
else
{
   Response.Write("This file does not exist.");
}
Run Code Online (Sandbox Code Playgroud)