Nous avons un rapport Reporting Services relativement simple que nos utilisateurs exportent généralement vers Excel. J'ai remarqué que les fichiers produits par l'export Excel semblent exceptionnellement volumineux. Si j'ouvre l'un de ces fichiers et que je clique simplement sur Enregistrer, sans apporter aucune modification, la taille du fichier est réduite à environ la moitié de sa taille précédente. Est-ce que quelqu'un d'autre a rencontré cela et existe-t-il une solution de contournement connue?Qu'est-ce qui provoque l'exportation Excel à partir de SQL Server Reporting Services pour produire un fichier anormalement volumineux?
Répondre
Vous avez mentionné que le rapport est relativement simple, mais il est important de le vérifier. L'exportation vers Excel ira à des longueurs extraordinaires pour essayer de maintenir l'apparence de votre rapport.
Si vous avez beaucoup de bordures ou de couleurs différentes (en particulier si un formatage différent est déterminé par les données de votre rapport), cela va gonfler le fichier.
Vérifiez également si de nombreuses colonnes de tailles très petites et inhabituelles sont créées dans la feuille de calcul exportée. L'exportation effectue cela pour essayer de faire correspondre l'alignement dans Excel avec le rapport d'origine.
Essayez de recréer votre rapport en tant que table de base sans mise en forme ni en-têtes/pieds de page et de voir si vous pouvez reproduire le problème. Si le comportement d'Excel est acceptable, ajoutez chaque morceau de formatage jusqu'à ce qu'il ne fonctionne plus. S'il vous plaît laissez-nous savoir ce que vous trouvez.
Le rapport est super basique. C'est juste 7 colonnes de données. Pas d'en-tête de page. Aucun pied de page Pas de sous-rapports. Il n'y a pas de colonnes ou de lignes supplémentaires ajoutées au fichier Excel. Je peux essayer de supprimer les en-têtes de colonne. Cependant, il semble toujours étrange que je puisse ouvrir et enregistrer sans aucun changement et réduire la taille du fichier de moitié. –
OK, je suis à court d'idées. Encore une fois, essayez de recréer le rapport. Regardez également les mises à jour SQL, ils peuvent résoudre ce problème. –
@PaulG Juste curieux, avez-vous déjà trouvé une vraie solution, que ce soit ou non lié à cela? Comme je ne suis pas sûr pourquoi vous avez marqué ceci comme la réponse en dépit de dire que cela ne s'appliquait pas à vous. –
Je n'ai pas de solution immédiate, mais un problème courant dans Excel est le gonflement des fichiers car une/toutes/toutes les feuilles de calcul ont enregistré toutes les lignes 64K au lieu de celles utilisées. Le correctif dans Excel consiste à sélectionner toutes les lignes inférieures non utilisées et à les supprimer, puis à enregistrer la feuille de calcul, à la fermer et à la rouvrir. Par conséquent, je poursuivrais l'angle des lignes supplémentaires étant sauvé dans l'exportation, et voir s'il y a un moyen d'empêcher que cela se produise.
Merci Lance. J'ai considéré cela. Une fois que j'ouvre le fichier et l'enregistre sans rien changer, la taille du fichier réduit à environ la moitié. Après cela, j'ai essayé de supprimer des colonnes et des lignes supplémentaires, mais cette modification n'a aucun impact sur la taille. –
Il peut s'agir de définir une taille basée sur des lignes, des colonnes ou du code supplémentaires, mais en éliminant ces extras à un moment critique après cette configuration. Ce serait probablement un bogue difficile à traquer. Bonne chance. –
Quel outil utilisez-vous lors de l'exportation vers Excel?
J'ai également réussi à réduire le nombre de lignes dans ma feuille de calcul Excel en le copiant dans une autre feuille de calcul, puis en supprimant la feuille d'origine.
Vous pouvez également essayer de copier uniquement les données de votre feuille de calcul et les coller dans un nouveau classeur Excel (fichier).
J'utilise simplement l'option standard d'exportation vers Excel depuis le site Web du serveur de services de reporting. Aucun autre outil n'est impliqué. –
Peut-être répondrai-je très tard à votre question. Voici la solution pour exporter en CSV.
Vous devez indiquer le nom que vous souhaitez voir comme en-tête de colonne pour le champ (pas le nom de la colonne) dans le concepteur.
Par défaut, tous les en-têtes de texte sont exportés en tant que colonnes séparées avec les colonnes de la table et assurez-vous que vous nommez le nom de conception dans les propriétés avec le nom que vous voulez voir.
L'autre chose importante à noter à propos de l'option DataElementOutput
qui est définie sur Auto, ce qui signifie qu'il sera exporté. Vous pouvez changer cela si vous ne voulez pas qu'il soit exporté.
La dernière chose mais non des moindres ... après avoir exporté les données semblent foiré. Vous devez sélectionner toute la première colonne et aller à la Data tab
->convert text to column
->use the delimiter
comme virgule et dire Terminer. Cela devrait résoudre votre problème.
J'ai eu le problème où les fichiers Excel exportés ont pris et extrêmement long à ouvrir et ils cesseraient de répondre chaque fois que vous avez cliqué sur une cellule.
De plus, des colonnes supplémentaires et fusionnées apparaîtraient dans les fichiers Excel exportés.Le correctif consistait à s'assurer que mes zones de texte d'en-tête s'alignaient avec le début et la fin des colonnes dans la table de données juste en dessous. Une fois que les deux étaient alignés, il n'y avait plus de colonnes supplémentaires dans les feuilles de calcul Excel exportées et la performance était revenue à la normale.
Voici la référence qui m'a aidé à comprendre la question: http://www.codegur.press/12747988/issue-report-export-to-excel-in-rdlc-report
Quelle version de Reporting Services utilisez-vous? Je n'ai pas vu ce comportement mais la version peut m'aider avec une raison/correction. Merci. –
SQL Server Reporting Services 2005 SP2 –
FWIW, et peut-être sans surprise, cela ne semble pas arriver avec SSRS 2014 ... où, en fait, instantanément ré-enregistrement rend le fichier _slightly_ plus grand! –