2009-08-05 9 views
0

La configuration de base est que j'ai une application Web qui appelle SQL Reporting Services pour exécuter des rapports. Les rapports ont la possibilité de retourner au format PDF ou Excel. Le code en arrière-plan exécute le rapport, obtient les résultats et l'écrit à l'aide de httpResponse.BinaryWrite(). La plupart des rapports fonctionnent bien. IE reconnaît le fichier Excel, excelle excel et ouvre la feuille de calcul. Cependant, certains rapports ne font pas démarrer Excel. Certains se retrouvent dans une sorte de widget Excel qui fonctionne dans IE. C'est insatisfaisant.SQL Reporting Services et Excel

Le code pour exécuter les rapports et les afficher est totalement générique et utilisé par tous les rapports. Je pense donc que cela a quelque chose à voir avec le rapport ... mais je ne sais pas ce que cela pourrait être. À ce stade, je sais vraiment dans le noir.

Cela ne se produit que lorsque vous utilisez Excel 2003. Excel 2007 fonctionne correctement. Je suis actuellement incapable d'obtenir une machine de développement qui exécute Excel 2003, donc il a été un ours pour essayer et déboguer.

Des idées?

Répondre

1

Zut! J'aurais dû savoir, car cela m'a mordu dans le passé. Répondra ici au cas où cela aiderait quelqu'un d'autre. Le problème était mon nom de rapport contenant des caractères qui ne jouent pas bien dans les noms de fichiers. Je construis un nom de fichier temporaire en utilisant le nom du rapport. Dans ce cas, le titre de mon rapport contient "Race/Ethnicity", donc le nom du fichier que je retransmet en retour contient un "/". Excel 2007 est assez sophistiqué pour le gérer. Excel 2003 semble avoir des problèmes. Peut-être l'interaction entre IE et Excel 2003/2007. Mais mes deux machines de test utilisent IE7.

0

Peut-être que vous pouvez essayer de pousser démarrer Excel en utilisant le code .NET et que dans ce cas ouvert généré fichier Excel

+0

eh oui, j'ai fait ce chemin pendant un moment. Puis je me suis arrêté parce qu'il commençait à avoir l'impression que je rendais le problème plus difficile qu'il ne l'était réellement. – tidge

Questions connexes