2

我正在使用 asp.net mvc 4,但从数据库中抓取的 excel 文件存在一些问题。我知道它是特定于 mvc 的,因为它不会在我的代码的正常 asp.net 部分中给出错误。

当我下载我的 xlsx 时,它下载得非常好。打开它时,它给了我以下错误:

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

显然我点击是。我的任何excel文件都没有问题。它们是正确生成的。

现在这是我的 mvc 代码:

Return File(attachment.FileContent.Content, attachment.FileContent.Type, attachment.Filename)
  • attachment.FileContent.Content = byteArray 与内容
  • attachment.FileContent.Type = 在这种情况下 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • attachment.Filename = 带有正确结束标记的文件名(在本例中为 .xlsx)

但是,在我正常的 asp.net 页面上,我根本没有收到此错误。这是我在我的 asp.net 页面上所做的:

Dim filter As IO.Stream = Response.Filter
Response.Filter = Nothing
Response.Clear()
Response.ContentType = attachment.FileContent.Type
Response.AddHeader("Content-Disposition", "attachment; filename=" & attachment.Filename)
Response.OutputStream.Write(attachment.FileContent.Content, 0, attachment.FileContent.Length.Value)
Response.End()

如果您有任何建议:我很乐意接受。

4

0 回答 0