2016-07-19 21 views
11

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.

Odpowiedz

16

Problem dotyczy aktualizacji zabezpieczeń KB3115262 dla programu Excel, która została wydana 12 lipca 2016 r. Informacje o aktualizacji zabezpieczeń można znaleźć w biuletynie Microsoft Security Bulletin MS16-088 - Krytyczny.

Znalazłem trzy obejścia (w moim kolejności preferencji):

  • zamiast kliknąć Otwórz, Zapisz plik, a następnie otwórz go
  • w Excelu Centrum zaufania> Ustawienia Centrum zaufania> Widok chroniony , odznacz dwie najlepsze opcje. Jest to potencjalnie niebezpieczne.
  • Odinstaluj aktualizację zabezpieczeń.

Poniżej znajduje się kilka linków dotyczących problemu do dalszego przeglądania. 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

+0

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! –

+0

wielki - opcja 2 pracował dla mnie, odznaczając pierwszą opcję (Internet Files) – kneidels

+3

MS poprawkę, aby rozwiązać ten problem: https://support.microsoft.com/en-us/kb/3181507 –

0

Można też przejść do właściwości pliku i kliknij przycisk Odblokuj.

myślę jest bezpieczniejszy niż zmienić Centrum

+0

Zdecydowanie nie jestem fanem ryzyka związanego z bezpieczeństwem, ale problem polega na tym, że ta metoda jest używana w dosłownie setkach raportów internetowych dla setek użytkowników. Ilość zagrożonych systemów/użytkowników jest zbyt wysoka, aby niestety obsługiwać wsparcie użytkowników. Oto kciuki, że stwardnienie rozsiane zajmie się tym w tej dekadzie. :) –

0

Excel zaufania dla systemu Windows 10 użytkowników, należy dodać do pobrania URL witryny programu Excel do listy zaufanych witryn w systemie Windows 10 Opcje internetowe> Zabezpieczenia> Zaufane witryny> Strony następnie pobrać i otwórz skoroszyt programu Excel za pomocą przeglądarki MS Edge.