Response.ContentType应用程序/ vnd.ms-excel xls停止工作

我已经在这个问题上做了一些非常深入的search,没有运气。 似乎在过去几天,从HTML输出到XLS已经停止了许多我所支持的传统(读:传统ASP)系统的工作。 我已经能够在多个服务器上重现这一点,从Office 2010到Office 2016的多个独立的源代码。我已经看过了我能想到但没有成功的一切,所以我很想知道是否有某些我可能忽略的东西。 我开始认为这可能是一个糟糕的Office更新是罪魁祸首。

什么工作,并已工作多年的样本:

<% Response.ContentType = "application/vnd.ms-excel" Response.AddHeader "Content-Disposition", "attachment;filename=TestExcel.xls" %> <html> <body> <table> <thead> <tr> <th>column 1 header</th> <th>column 2 header</th> </tr> </thead> <tbody> <tr> <td>column 1 value</td> <td>column 2 value</td> </tr> </tbody> <tfoot> <tr> <td>Footer 1</td> <td>Footer 2</td> </tr> </tfoot> </table> </body> </html> 

奇怪的是,XLS文件实际上是创build的,但是当它打开时,Excel会打开但不存在文件。

更奇怪的是,当你用一些文本编辑器(例如记事本)打开XLS文件时,只需打开File-> Save As即可打开。

该问题与2016年7月12日发布的Excel的Microsoft安全更新KB3115262有关。可以在Microsoft安全公告MS16-088 – 严重中find安全更新信息。

我发现了三个解决方法(按我的优先顺序):

  • 而不是单击打开,保存该文件,然后打开它
  • 在Excel信任中心>信任中心设置>受保护的视图中,取消选中前两个选项。 这可能是不安全的。
  • 卸载安全更新。

以下是有关这个问题进一步细读的几个链接。 https://social.technet.microsoft.com/Forums/en-US/d2d84793-9920-45e3-baef-5027a4ac1ae0/kb3170008-for-office-2016-breaks-functionality-ms16088?forum=officeitpro

https://technet.microsoft.com/library/security/MS16-088

https://salesforce.stackexchange.com/questions/131404/end-user-cannot-open-a-xls-report-exported-from-salesforce

导出HTML表格到Excel – 不在Office 2010中打开

您也可以转到该文件的属性,然后单击取消阻止。

我认为比改变Excel信任中心更安全

对于Windows 10用户,请将Excel下载站点URL添加到Windows 10 Internet选项>安全>可信站点>站点的受信任站点列表,然后通过MS Edge浏览器下载并打开Excel工作簿。