Dans les applications réelles, des données doivent souvent être exportées dans Excel. En plus de l'exportation en tant que SA, il existe également une exportation de pagination, une exportation de feuilles de pagination et une exportation de données importantes. Pour Excel2003, le nombre maximum de lignes et de colonnes de chaque feuille est limité. Lors de l'exportation de volumes de données importants, plusieurs feuilles seront divisées par défaut et Excel2007 n'aura pas de tels problèmes. Ces méthodes d'exportation ont des interfaces différentes à mettre en œuvre dans les programmes Java:
1. Exporter tel quel
Exporter comme c'est juste pour exporter Excel sans prévisualisation
Le code d'interface du programme est le suivant:
outputStream = new FileOutputStream (nouveau fichier ("e: //excexport.xls")); Excexporter Excel = nouveau Excelexporter (); // Export 2007 outputStream = new FileOutputStream (nouveau fichier ("e: //excexport.xlsx")); Excel Excel2007Exporter Excel = nouveau Excel2007Exporter (); Excel.Export (OutputStream, RWorkBook);Image de reproduction:
2. Exportation de pagination
Exportation de pagination. Si le modèle de rapport est paginé, il sera exporté sous forme de résultats de pagination et les titres en double, etc. seront également répétés.
Le code d'interface du programme est le suivant:
outputStream = new FileOutputStream (nouveau fichier ("e: //pageexcexport.xls")); PageExceLexporter Page = new PageExceLexporter (reportUtils.getPapersettingListFromWorkBook (RWorkBook)); // Export 2007 outputStream = new FileOutputStream (nouveau fichier ("e: //pageExcelExport.xlsx")); Excel PageExcel2007Exporter Page = new PageExcel2007Exporter (reportUtils.getPapersettingListFromWorkBook (RWorkBook)); Page.Export (OutputStream, RWorkBook);Image de reproduction:
3. Pages d'exportation en feuilles
Lorsque la page est exportée, chaque page du résultat du rapport est enregistrée dans un fichier Excel.
Le code est le suivant:
outputStream = new FileOutputStream (nouveau fichier ("e: //pageSheetExcelExport.xls")); PagetOsheetExceLexporter Sheet = new PagetOsheetExcelExporter (reportUtils.getPapersettingListFromWorkBook (RWorkBook)); // Export 2007 version outputStream = new FileOutputStream (nouveau fichier ("e: //pageSheetExcelExport.xlsx")); Excel PagetOsheetExcel2007Exporter Sheet = new PagetOsheetExcel2007Exporter (reportUtils.getPapersettingListFromWorkBook (RWorkBook)); sheet.export (OutputStream, RworkBook);Image de reproduction:
4. Exportation d'un grand volume de données
Ceci est plus courant, par exemple, un fichier Excel avec un comportement de 50000
Le code est le suivant:
outputStream = new FileOutputStream (nouveau fichier ("e: //largeExcelExport.zip")); LARGEDATAPAGEEXCELEXPORTER Large = new LargeDatapageExcelExporter (reportUtils.getPapersettingListFromWorkBook (RWorkBook), true); // Export 2007 version outputStream = new FileOutputStream (nouveau fichier ("e: //largeExcelExport.xlsx")); Excel LargedAtApageExcel2007Exporter Large = new LargeDatapageExcel2007Exporter (reportUtils.getPapersettingListFromWorkBook (RWorkBook), true); Large.Export (OutputStream, RworkBook);Lors de l'exportation de rapports à partir de volumes de données importants, les deux situations suivantes peuvent se produire:
1. Si l'exportation est réussie, les données seront affichées sur plusieurs feuilles;
2. Deux. L'exportation a échoué et le contenu Excel exporté n'est pas valide. Il y a deux raisons principales pour la situation ci-dessus:
4.1 Exportation de grands rapports de volume de données sans moteur de ligne activé
Sans le moteur de ligne activé, deux situations se produiront également: l'exportation est réussie si le serveur peut le supporter et l'exportation est en panne si le serveur ne peut pas le supporter. Jetons un coup d'œil aux résultats ci-dessous:
4.1.1 Le serveur est dans le cadre de
La plage acceptable est: la quantité de données est importante, dépassant le nombre maximal de lignes d'Excel mais pas très, très grande, comme 100 000 pièces, et les données ne sont pas compliquées, et elles peuvent être exportées normalement si la mémoire est suffisante et que le réseau n'est pas interrompu. Lors de l'exportation, les données dépassant la ligne ou la colonne maximale d'Excel seront affichées dans la feuille suivante. Cependant, Excel a une limite sur le nombre de lignes et de colonnes. Par exemple, Excel 2003 a une limite maximale de 65536 lignes, et la limite maximale du nombre de colonnes est de 256 colonnes.
4.1.2 Le serveur ne peut pas le supporter
La plage insupportable est que le volume de données est grand et très grand, comme des centaines de milliers ou des millions, voire plus, et la défaillance de l'exportation peut se produire en raison de restrictions de mémoire. Lorsque le résultat est exporté, le contenu d'Excel qui n'a pas réussi à exporter n'est pas valide.
Pour ces deux résultats d'exportation, la principale raison est de savoir la quantité de volume de données et de complexité des données (nombre de colonnes). Il y aura un point critique sans moteur à ligne. Lorsque l'exportation est inférieure au point critique, le contenu exporté aura plusieurs feuilles, sinon l'exportation échouera et le contenu sera invalide. Par conséquent, pour les grands rapports de volume de données, il est généralement affiché à l'aide d'un moteur en ligne. Dans ce cas, l'exportation Excel est toujours réussie. Lorsque les rapports de volume de données compatibles avec le moteur de ligne sont exportés vers Excel, ils sont divisés en plusieurs fichiers .xls et sont transférés au client au format d'un fichier de package compressé.
4.2 Activer l'exportation du moteur de ligne de grands rapports de volume de données
Pour les grands rapports de volume de données, il est généralement présenté à l'aide d'un moteur en ligne, et dans ce cas, l'exportation Excel est toujours réussie. Étant donné que lors de l'exportation de Excel avec le grand rapport de volume de données du moteur linéaire, il est divisé en plusieurs fichiers .xls et est transféré au client au format d'un fichier de package compressé.
Par exemple, un grand rapport de volume de données a 100W des lignes de données et un moteur en ligne est configuré, et 30 lignes sont affichées par page. Le résultat exporté sera 41 Excel, les 40 premiers Excel seront de 24990 lignes chacun, le dernier Excel sera de 400 lignes, et le 41 Excel sera compressé dans des packages zip et téléchargés sur le client pour télécharger.
Le contenu ci-dessus est quatre façons d'exporter Excel pour l'outil de rapport Java Finereport. J'espère que ce sera utile à tous!