【问题标题】:ASP.NET: XLSX file is being corrupted in ResponseASP.NET:响应中的 XLSX 文件已损坏
【发布时间】:2018-01-10 07:02:02
【问题描述】:

下载后打开 XLSX 文件时,我在 Excel 中收到错误消息:

我们发现“filename.xlsx”中的某些内容存在问题。你想让我们尽可能多地恢复吗?如果您信任此工作簿的来源,请单击“是”。

当我检查服务器上的文件时,我在 Excel 中没有收到任何错误。

我正在使用 ASP.NET 将文件发送给用户,如下所示:

protected void Page_Load(object sender, EventArgs e) 
{
    Response.Clear();
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    Response.AppendHeader("Content-Disposition", "Attachment; filename=\"filename.xlsx\"");
    Response.AppendHeader("Content-Length", File.ReadAllBytes(xlsxFilepath).Length);
    Response.TransmitFile(xlsxFilepath);
    Response.End();
}

这个问题只有在我更换服务器时才开始发生。

【问题讨论】:

  • 你的程序在做什么?这条消息“我们发现问题...”何时显示与您发布的代码有什么相关性?
  • 当您访问该页面时,它会下载 XLSX,当您打开该 XLSX 文件时,Excel 会显示该错误消息。
  • 我们不知道您传输的是什么文件,很明显这个文件有问题
  • 但是如果我在服务器上打开文件,我不会收到任何错误 - 我只会在从该页面下载文件并且文件在代码。

标签: c# asp.net excel


【解决方案1】:

Response.End()之前我需要Response.Flush()

【讨论】:

    猜你喜欢
    • 2020-01-03
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    相关资源
    最近更新 更多