Подтвердить что ты не робот

Response.ContentType application/vnd.ms-excel xls перестает работать

Я сделал довольно глубокий поиск по этой проблеме без везения. Похоже, что за последние пару дней вывод XLS из HTML прекратил работу над многими старыми (читай: классическими 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- > Save As открывается без проблем.

4b9b3361

Ответ 1

Проблема связана с Microsoft Security Update KB3115262 для Excel, выпущенной 12 июля 2016 года. Сведения об обновлении безопасности можно найти в бюллетене Microsoft Security Bulletin MS16-088 - Critical.

Я нашел три метода обхода (в моем порядке предпочтения):

  • Вместо нажатия "Открыть" сохраните файл, а затем откройте его
  • В Центре Excel Trust > Настройки центра клиентов > Защищенный просмотр снимите два верхних параметра. Это потенциально опасно.
  • Удалите обновление безопасности.

Ниже приведены несколько ссылок на вопрос для дальнейшего изучения. 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

Ответ 2

Вы также можете перейти к свойствам файла и нажать "Разблокировать".

Я думаю, что безопаснее, чем изменить Центр доверия Excel

Ответ 3

Для пользователей Windows 10 добавьте URL сайта загрузки Excel в список надежных сайтов в Windows 10 Свойства обозревателя > Безопасность > Надежные сайты > Сайты, затем загрузите и откройте книгу Excel через браузер MS Edge.