2016-07-19 2 views
11

J'ai fait des recherches assez approfondies sur ce problème sans aucune chance. Il semble qu'au cours des deux derniers jours, la sortie vers XLS de HTML a cessé de fonctionner sur de nombreux systèmes hérités (lire: ASP classique). J'ai été capable de reproduire cela sur plusieurs serveurs, plusieurs sources de code indépendant d'Office 2010 à Office 2016. J'ai regardé tout ce que je peux penser sans succès, donc je suis curieux de savoir s'il y a quelque chose que je pourrais négliger. Je commence à penser que cela peut être une mauvaise mise à jour Office qui est le coupable.L'application Response.ContentType/vnd.ms-excel xls a cessé de fonctionner

échantillon de ce qui fonctionne et travaille depuis de nombreuses années:

<% 

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> 

Ce qui est curieux est que le fichier XLS est en fait créé, mais quand il est ouvert Excel ouvre mais le fichier n'est présent.

Encore plus curieux est que lorsque vous ouvrez le fichier XLS avec un éditeur de texte (bloc-notes par exemple) et juste File-> Save As il ouvre sans problème.

Répondre

16

Le problème est lié à la mise à jour de sécurité Microsoft KB3115262 pour Excel publiée le 12 juillet 2016. Les informations de mise à jour de sécurité sont disponibles dans le bulletin de sécurité Microsoft MS16-088 - Critique.

J'ai trouvé trois solutions de contournement (dans mon ordre de préférence):

  • lieu de cliquer sur Ouvrir, enregistrez le fichier, puis ouvrez-
  • Dans Excel Trust Center> Paramètres du Centre> Mode protégé , décochez les deux premières options. Ceci est potentiellement dangereux.
  • Désinstallez la mise à jour de sécurité.

Vous trouverez ci-dessous plusieurs liens concernant le problème à approfondir. 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! C'est le problème. Je planifiais déjà une nuit remplie de mises à jour pour trouver lequel était le coupable. ;) Je pense que le moins de chemin de résistance est l'option Trust Center, car il sera probablement au moins quelques jours avant les correctifs MS. Merci pour ton aide! –

+0

grand - l'option 2 a fonctionné pour moi, en décochant la première option (fichiers internet) – kneidels

+3

Patch MS pour résoudre ce problème: https://support.microsoft.com/en-us/kb/3181507 –

0

Vous pouvez aussi aller aux propriétés du fichier et cliquez sur Débloquer.

Je pense est plus sûr que changer le Trust Center Excel

+0

Je ne suis certainement pas un fan du risque de sécurité, mais le problème est que cette méthode est utilisée sur des centaines de rapports Web pour des centaines d'utilisateurs. Le volume de systèmes/utilisateurs affectés est trop élevé pour gérer le support des utilisateurs malheureusement. Voici les doigts croisés que MS va aborder cette décennie. :) –

0

Pour Windows 10 utilisateurs, ajoutez l'URL du site de téléchargement Excel à votre liste de sites de confiance dans Windows 10 Options Internet> Sécurité> Les Sites de confiance> Sites puis télécharger et Ouvrez le classeur Excel via votre navigateur MS Edge.