Question

Je suis en train de mettre en œuvre une page qui permet aux utilisateurs d'utiliser Excel les données qu'il fournit via la fonction de requête Web fourni par Excel.

Il est tout à travailler assez bien, aussi longtemps que je l'utilise HTTP (même BASIC travaux d'authentification utilisateur).

Dès que je passe que vers Excel HTTPS ne téléchargera pas les données plus (il y a même un certificat SSL pleinement officiel, il est donc pas un problème avec un auto-signé un).

Cet article de base de connaissances Microsoft décrit assez bien le problème.

Maintenant, la partie qui me fait merveille est la suivante:

  

Ce problème se produit lorsque Excel ne peut pas établir une connexion en raison des paramètres sur le serveur Web sécurisé.

Cela semble impliquer qu'il ya certains façon d'obtenir ce travail, mais il n'y a même pas une allusion à la direction que je dois regarder.

Au cas où la « cause des paramètres sur le serveur Web sécurisé » prendre à leur valeur nominale, ou est-ce juste une façon Microsoft de dire « cela ne fonctionnera pas à moins que vous achetez le logiciel droit de nous »?

Était-ce utile?

La solution

Il semble que j'ai trouvé le problème:

MS Excel semble être incapable d'utiliser les données sur la page si les en-têtes HTTP de la page précise qu'il ne doit pas être cache et il est transféré via HTTPS (les mêmes en-têtes envoyés par HTTP semblent ignorés).

par pas l'envoi de ces en-têtes, Excel a été soudainement en mesure d'accéder aux données:

Pragma: no-cache
Cache-Control: no-cache

Autres conseils

La réponse de Joachim a résolu le problème pour moi. Le framework web côté serveur (PHP5 / Expression Engine 1.6.7) a été l'envoi d'un Pragma: no-cache sur chaque demande (même si mes résultats web page de requête mis en Pragma: public, je suppose que le cadre l'emportaient sur elle). Une fois que je l'ai enlevé, tout a commencé à travailler.

IE et le comportement Bureau Pragma: no-cache est similaire à celui décrit dans MS KB Article: Internet explorer ne peut pas ouvrir des documents Office à partir d'un site Web SSL

Voir aussi de ce tutoriel cache Warning: Pragma no-cache Obsolète. Dans cet esprit, je mis Expression Engine » Sortie et débogage> Générer HTTP têtes de page? option Non (D'autres cadres ont des options de configuration similaires). Mais quelques-uns des autres en-têtes envoyés automatiquement ont été nécessaires pour la mise en cache avec succès le reste du site, donc j'opté pour commenter le Pragma: no-cache lignes dans le code source de cadre.

Si vous n'avez pas la possibilité de modifier les en-têtes HTTP envoyés par votre serveur web / cadre, la seule option MS-Office-client-côté ne sera d'utiliser des macros VBA pour automatiser un composant d'Internet Explorer pour se déplacer le comportement de la mise en cache de bureau. Voir différentes façons d'utiliser les requêtes Web dans Microsoft Office Excel 2003 comme point de départ .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top