In den tatsächlichen Anwendungen müssen häufig Daten in Excel exportiert werden. Zusätzlich zum Exportieren von AS-IS gibt es auch Paginationsexport, Paginationsexport und große Datenexport. Für Excel2003 ist die maximale Anzahl von Zeilen und Spalten jedes Blatts begrenzt. Beim Exportieren großer Datenvolumina werden mehrere Blätter standardmäßig geteilt, und Excel2007 hat keine solchen Probleme. Diese Exportmethoden haben unterschiedliche Schnittstellen, die in Java -Programmen implementiert werden müssen:
1. Exportieren wie ist
Exportieren Sie wie nur um Exporte ohne Vorschau zu exportieren
Der Programm -Schnittstellencode lautet wie folgt:
outputStream = new FileOutputStream (neue Datei ("e: //excelexport.xls")); Excelexporter excel = new excelexporter (); // exportieren 2007 outputStream = new FileOutputStream (neue Datei ("e: //excelexport.xlsx"); excel excel2007Exporter excel = new excel2007Exporter (); excel.export (outputStream, rworkbook);Reproduktionsbild:
2. Paginationsexport
Paginationsexport. Wenn die Berichtsvorlage paginiert ist, wird sie in Form von Paginationsergebnissen exportiert und doppelte Titel usw. wird ebenfalls wiederholt.
Der Programm -Schnittstellencode lautet wie folgt:
outputStream = new FileOutputStream (neue Datei ("e: //pageExcelexport.xls")); PageExcelexporter page = new pageExcelexporter (reportUtils.getPaperettingListFromworkbook (rworkbook)); // Export 2007 OutputStream = New FileOutputStream (neue Datei ("e: //pageExcelexport.xlsx")); excel pageExcel2007Exporter page = new PageExcel2007Exporter (reportUtils.getPaperettingListFromWorkbook (RWWORKBOOK)); page.export (outputStream, rworkbook);Reproduktionsbild:
3.. Exportseiten in Blättern exportieren
Wenn die Seite exportiert wird, wird jede Seite des Berichtsergebnisses in einer Excel -Datei gespeichert.
Der Code ist wie folgt:
outputStream = new FileOutputStream (neue Datei ("e: //pagsheeteTexcelexport.xls")); PagetoSheeteTexcelexporter Sheet = new pagetoSheetETExcelexporter (ReportUtils.getPaperettingListFromWorkbook (RWWORKBOOK)); // Export 2007 Version OutputStream = new FileOutputStream (neue Datei ("e: //pagsheeteTexcelexport.xlsx")); Excel PagetoSheetExcel2007Exporter Sheet = new pagetoSheetExcel2007Exporter (ReportUtils.getPaperettingListListFromWorkbook (RWWORKBOOK)); Sheet.export (outputStream, Rworkbook);Reproduktionsbild:
4. Exportieren des großen Datenvolumens
Dies ist beispielsweise häufiger eine Excel -Datei mit 50000 Verhalten
Der Code ist wie folgt:
outputStream = new FileOutputStream (neue Datei ("e: //largeexcelexport.zip")); LargedatapageExcelexporter large = new LargedatapageExcelexporter (reportUtils.getPaperettingListFromworkbook (RWWORKBOOK), TRUE); // Export 2007 Version OutputStream = New FileOutputStream (neue Datei ("e: //largeexcelexport.xlsx")); excel largedatapageExcel2007Exporter groß = new LargedatapageExcel2007Exporter (ReportUtils.getPaperettingListListFromWorkbook (RWWORKBOOK), TRUE); large.export (outputStream, rworkbook);Beim Exportieren von Berichten aus großen Datenvolumina können die folgenden zwei Situationen auftreten:
1. Wenn der Export erfolgreich ist, werden die Daten in mehreren Blättern angezeigt.
2. zwei. Der Export ist fehlgeschlagen und der exportierte Excel -Inhalt ist ungültig. Es gibt zwei Hauptgründe für die obige Situation:
4.1 Exportieren großer Datenvolumenberichte ohne aktivierter Linienmotor
Ohne die aktivierte Line -Engine treten auch zwei Situationen auf: Der Export ist erfolgreich, wenn der Server ihn tragen kann, und der Export ist fehlgeschlagen, wenn der Server ihn nicht tragen kann. Schauen wir uns die folgenden Ergebnisse an:
4.1.1 Der Server befindet sich im Rahmen des Umfangs von
Der akzeptable Bereich ist: Die Datenmenge ist groß und überschreitet die maximale Anzahl von Zeilen von Excel, aber nicht sehr, sehr groß, z. B. 100.000 Stück, und die Daten sind nicht kompliziert und kann normal exportiert werden, wenn das Speicher ausreicht und das Netzwerk nicht unterbrochen wird. Beim Exportieren werden Daten, die die maximale Zeile oder Spalte von Excel überschreiten, im nächsten Blatt angezeigt. Excel hat jedoch eine Grenze für die Anzahl der Zeilen und Spalten. Beispielsweise hat Excel 2003 eine maximale Grenze von 65536 Zeilen, und die maximale Grenze für die Anzahl der Spalten beträgt 256 Spalten.
4.1.2 Der Server kann es nicht ertragen
Der unerträgliche Bereich ist, dass das Datenvolumen groß und sehr groß ist, z. B. Hunderttausende oder Millionen oder sogar mehr, und der Exportfehler kann aufgrund von Speicherbeschränkungen auftreten. Wenn das Ergebnis exportiert wird, ist der Inhalt von Excel, der nicht exportiert hat, ungültig.
Für diese beiden Exportergebnisse ist der Hauptgrund, wie viel Datenvolumen und Datenkomplexität (Anzahl der Spalten) sind. Es wird einen kritischen Punkt ohne Reihenmotor geben. Wenn der Export unter dem kritischen Punkt liegt, hat der exportierte Inhalt mehrere Blätter, andernfalls fällt der Export aus und der Inhalt ist ungültig. Daher wird es für große Datenvolumenberichte normalerweise mit einer Zeilenmotor angezeigt. In diesem Fall ist das Exportieren von Excel immer erfolgreich. Wenn die Line Engine-fähigen großen Datenvolumenberichte in Excel exportiert werden, werden sie in mehrere .xls-Dateien unterteilt und im Format einer komprimierten Paketdatei an den Client übertragen.
4.2 Export von Line Engine Export von großen Datenvolumenberichten aktivieren
Für große Datenvolumenberichte wird es normalerweise mit einer Zeilenmotor dargestellt, und in diesem Fall ist das Exportieren von Excel immer erfolgreich. Denn beim Exportieren von Excel mit dem großen Datenvolumenbericht der Line Engine wird er in mehrere .xls -Dateien unterteilt und im Format einer komprimierten Paketdatei an den Client übertragen.
Beispielsweise enthält ein großer Datenvolumenbericht 100 -W -Datenzeilen, und es werden eine Zeilenmotor eingerichtet, und es werden 30 Zeilen pro Seite angezeigt. Das exportierte Ergebnis beträgt 41 Excel, die ersten 40 Excel sind jeweils 24990 Zeilen, der letzte Excel beträgt 400 Zeilen, und der 41 Excel wird in ZIP -Pakete komprimiert und zum Herunterladen an den Client hochgeladen.
Der obige Inhalt besteht aus vier Möglichkeiten, um Excel für das Java Fernereport -Berichtstool zu exportieren. Ich hoffe, es wird für alle hilfreich sein!