html - Response.ContentType application/vnd.ms-excel xls 停止工作

标签 html excel xls

我在这个问题上做了一些相当深入的搜索,但没有成功。在过去的几天里,从 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 文件实际上已创建,但当它打开时,Excel 会打开但文件不存在。

更奇怪的是,当您使用某些文本编辑器(例如记事本)打开 XLS 文件时,只需"file"->“另存为”,它就会毫无问题地打开。

最佳答案

此问题与 2016 年 7 月 12 日发布的适用于 Excel 的 Microsoft 安全更新 KB3115262 相关。可在 Microsoft 安全公告 MS16-088 - 严重中找到安全更新信息。

我找到了三种解决方法(按照我的偏好顺序):

  • 不要单击“打开”,而是保存文件然后打开它
  • 在 Excel 信任中心 > 信任中心设置 > protected View 中,取消选中顶部的两个选项。这可能不安全。
  • 卸载安全更新。

下面是关于该问题的几个链接,供进一步阅读。 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

Export HTML Table to Excel- Doesn't Open in Office 2010

关于html - Response.ContentType application/vnd.ms-excel xls 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466169/

相关文章:

python - jinja flask 和循环属性

html - 替代 "overflow:scroll;"在 div 中创建永久垂直滚动条?

excel - 使用 VBA "With"语句来引用对象本身?

javascript - 在 javascript 中发布一个包含 html 标签的字符串

html - Bootstrap 并排 GridView

EXCEL VBA 在指定位置打开 Word、编辑和另存为。

python - 获取调用脚本的工作簿的位置

.net - 如何将边框样式应用于 NPOI 工作簿单元格

excel - 使用 RODBC 读取 .xls 文件时不使用 colnames

php - 如何使用 PHPExcel 读取受密码保护的 Excel 文件?