Comment exporter un JasperReport vers un fichier Excel avec plusieurs feuilles de calcul?
Nous avons un rapport que le client souhaite avoir exporté au format excel où il a plusieurs feuilles de calcul. Essentiellement, les deux requêtes de partager les mêmes paramètres, mais tout le reste est différent.
Dans le parc national jasper-rapports comment exporter vers un fichier excel avec plusieurs feuilles de calcul (idéalement à partir de différentes sources de données)?
source d'informationauteur Jacob Schoen
Vous devez vous connecter pour publier un commentaire.
Grâce à ce fil, c'était vraiment plus facile pour moi de créer un export Excel avec plusieurs feuilles. Ce que j'ai trouvé est que vous pouvez utiliser les éléments suivants:
et l'exportateur utilisera automatiquement chaque JasperPrint objet à construire chaque feuille; aussi le nom de l'Jasper rapport (tel que spécifié dans le fichier jrxml) est utilisé en tant que nom de chaque feuille.
Actuellement cette solution fonctionne sur mon projet local, donc je voulais juste vous laisser savoir.
Grâce à bélisaire lien nous semblent avoir compris. Les rudiments de la façon de le faire est de créer votre JasperPrint objets pour chaque feuille comme vous le feriez normalement. Donc, vous avez:
La JasperPrint objets sont déjà remplis avec de la source de données à ce stade. Ensuite, vous n':
Ce que cela fait, il définit
i
pour le nombre de pages actuellement dans lefirstWorkSheet
(qui devrait être). Puis il fait une boucle thourgh pages dans lasecondWorkSheet
et les ajoute à la firstWorkSheet.Assurez-vous de vous jasperReport vous l'avez configuré pour imprimer qu'une page pour chacune de la feuille de travail jrxml fichiers et vous devriez être bon d'aller. Je viendrai mettre à jour cette si rien ne change, mais cela devrait fonctionner.
Mise à JOUR:
Découvert que vous devez utiliser
net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter
au lieu de
net.sf.jasperreports.engine.export.JRXlsExporter
comme il semble y avoir un problème lors de l'exportation de plusieurs fiches de travail.
Également le paramètre dans le fichier jrxml pour
isIgnorePagination
doit être:isIgnorePagination="true"
de sorte que chaque fichier jrxml est exportée sous la forme d'une seule page.
Ensuite, vous devez définir
JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET
paramètre à true alors il éclate à chaque page d'une feuille de calcul distincte.Conformément à la version actuelle de l'article 6.1.1,
JRXlsExporter.setParameter
est obsolète. Il devrait être remplacé parJRXlsExporter.setExporterInput
. Ainsi, la mise à jour de code serait: