Zrobiłem dość głęboki przeszukiwanie tego problemu bez powodzenia. Wygląda na to, że w ciągu ostatnich kilku dni wyjście do XLS z HTML przestało działać na wielu starszych systemach (czytaj: Classic ASP), które obsługuję. Byłem w stanie odtworzyć to na wielu serwerach, wiele niezależnych kodów źródłowych z Office 2010 do Office 2016. Przyjrzałem się wszystkim, co wymyśliłem bez powodzenia, więc jestem ciekawy, czy jest coś, co mógłbym przeoczyć. Zaczynam myśleć, że to może być zła aktualizacja Office, która jest winowajcą.Aplikacja Response.ContentType/vnd.ms-excel xls przestała działać
próbka tego, co działa i pracuje od wielu lat:
<%
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>
Co ciekawe, jest to, że plik XLS jest w rzeczywistości utworzona, ale po otwarciu otwiera plik Excel, ale nie jest obecny.
Jeszcze bardziej ciekawy jest fakt, że po otwarciu pliku XLS za pomocą edytora tekstu (np. Notatnika) i po prostu Plik-> Zapisz jako otwiera bez problemu.
Bingo! To jest problem. Już planowałem zabawną noc cofania aktualizacji, aby dowiedzieć się, który z nich był winowajcą. ;) Myślę, że najmniejszą ścieżką oporu jest opcja Centrum zaufania, ponieważ najprawdopodobniej upłynie ona co najmniej kilka dni przed ustaleniem przez MS. Dzięki za pomoc! –
wielki - opcja 2 pracował dla mnie, odznaczając pierwszą opcję (Internet Files) – kneidels
MS poprawkę, aby rozwiązać ten problem: https://support.microsoft.com/en-us/kb/3181507 –