Dalam aplikasi aktual, data sering diperlukan untuk diekspor ke Excel. Selain mengekspor apa adanya, ada juga ekspor pagination, ekspor lembar pagination dan ekspor data besar. Untuk Excel2003, jumlah maksimum baris dan kolom masing -masing lembar terbatas. Saat mengekspor volume data yang besar, beberapa lembar akan dibagi secara default, dan Excel2007 tidak akan memiliki masalah seperti itu. Metode ekspor ini memiliki antarmuka yang berbeda untuk diimplementasikan dalam program Java:
1. Ekspor apa adanya
Ekspor seperti hanya untuk mengekspor excel tanpa pratinjau
Kode antarmuka program adalah sebagai berikut:
outputStream = new fileoutputStream (file baru ("e: //excelexport.xls")); ExcelExporter Excel = ExcelExporter baru (); // Ekspor 2007 outputStream = FileOutputStream baru (file baru ("e: //excelexport.xlsx")); Excel Excel2007Exporter Excel = Excel2007Exporter baru (); Excel.Export (OutputStream, RworkBook);Gambar reproduksi:
2. Ekspor pagination
Ekspor Pagination. Jika template laporan paginasi, itu akan diekspor dalam bentuk hasil pagination, dan judul duplikat, dll. Juga akan diulang.
Kode antarmuka program adalah sebagai berikut:
outputStream = FileOutputStream baru (file baru ("e: //pageExcelExport.xls")); Halaman pageexcelExporter = pageexcelExporter baru (reportutils.getpapersettinglistFromworkbook (rworkBook)); // Ekspor 2007 outputStream = FileOutputStream baru (file baru ("e: //pageExcelExport.xlsx")); excel pageexcel2007exporter page = new pageexcel2007exporter (reportutils.getpapersettinglistFromworkbook (rworkBook)); Page.Export (OutputStream, RworkBook);Gambar reproduksi:
3. Ekspor halaman dalam lembaran
Ketika halaman diekspor, setiap halaman hasil laporan disimpan dalam file Excel.
Kodenya adalah sebagai berikut:
outputStream = new fileoutputStream (file baru ("e: //pagesheetexcelExport.xls")); PagetosheetexcelExporter sheet = baru pagetosheetheetexcelexporter (reportutils.getpapersettinglistFromworkbook (rworkBook)); // Ekspor 2007 Versi outputStream = FileOutputStream baru (file baru ("e: //pagesheetexcelExport.xlsx")); Excel pagetosheetexcel2007Exporter sheet = new PagetosheetExcel2007Exporter (Reportutils.getpapersettingListFromWorkbook (RworkBook)); Sheet.Export (OutputStream, RworkBook);Gambar reproduksi:
4. Ekspor volume data besar
Ini lebih umum, misalnya, file Excel dengan perilaku 50000
Kodenya adalah sebagai berikut:
outputStream = new fileoutputStream (file baru ("e: //largeexcelexport.zip")); LargedatapageExcelExporter besar = largedatapageExcelexporter baru (reportutils.getpapersettinglistFromworkbook (rworkBook), true); // Ekspor 2007 Versi outputStream = FileOutputStream baru (file baru ("e: //largeexcelExport.xlsx")); Excel largedatapageExcel2007Exporter besar = new largedatapageExcel2007exporter (reportutils.getpapersettinglistFromworkbook (rworkbook), true); besar. Export (OutputStream, RworkBook);Saat mengekspor laporan dari volume data besar, dua situasi berikut dapat terjadi:
1. Jika ekspor berhasil, data akan ditampilkan di beberapa lembar;
2. Dua. Ekspor gagal dan konten Excel yang diekspor tidak valid. Ada dua alasan utama untuk situasi di atas:
4.1 Ekspor Laporan Volume Data Besar Tanpa Mesin Garis Diaktifkan
Tanpa mesin yang diaktifkan, dua situasi juga akan terjadi: ekspor berhasil jika server dapat menanggungnya, dan ekspor gagal jika server tidak dapat menanggungnya. Mari kita lihat hasilnya di bawah ini:
4.1.1 Server berada dalam ruang lingkup
Kisaran yang dapat diterima adalah: jumlah data besar, melebihi jumlah maksimum baris Excel tetapi tidak terlalu, sangat besar, seperti 100.000 buah, dan data tidak rumit, dan dapat diekspor secara normal jika memori cukup dan jaringan tidak terganggu. Saat mengekspor, data melebihi baris atau kolom maksimum Excel akan ditampilkan di lembar berikutnya. Namun, Excel memiliki batas jumlah baris dan kolom. Misalnya, Excel 2003 memiliki batas maksimum 65536 baris, dan batas maksimum pada jumlah kolom adalah 256 kolom.
4.1.2 Server tidak dapat menanggungnya
Kisaran yang tak tertahankan adalah bahwa volume data besar dan sangat besar, seperti ratusan ribu atau jutaan atau bahkan lebih, dan kegagalan ekspor dapat terjadi karena pembatasan memori. Ketika hasilnya diekspor, konten Excel yang gagal mengekspor tidak valid.
Untuk dua hasil ekspor ini, alasan utamanya adalah berapa banyak volume data dan kompleksitas data (jumlah kolom). Akan ada titik kritis tanpa mesin baris. Ketika ekspor di bawah titik kritis, konten yang diekspor akan memiliki beberapa lembar, jika tidak ekspor akan gagal dan konten akan tidak valid. Oleh karena itu, untuk laporan volume data yang besar, biasanya ditampilkan menggunakan mesin baris. Dalam hal ini, mengekspor Excel selalu berhasil. Ketika laporan volume data besar yang diaktifkan mesin diekspor ke Excel, mereka dibagi menjadi beberapa file .xls dan ditransfer ke klien dalam format file paket terkompresi.
4.2 Aktifkan Ekspor Mesin Garis dari Laporan Volume Data Besar
Untuk laporan volume data yang besar, biasanya disajikan menggunakan mesin baris, dan dalam hal ini, mengekspor Excel selalu berhasil. Karena ketika mengekspor Excel dengan laporan volume data besar mesin, itu dibagi menjadi beberapa file .xls dan ditransfer ke klien dalam format file paket terkompresi.
Misalnya, laporan volume data besar memiliki 100W baris data, dan mesin baris diatur, dan 30 baris ditampilkan per halaman. Hasil yang diekspor adalah 41 Excel, 40 Excel pertama masing -masing adalah 24990 baris, Excel terakhir adalah 400 baris, dan 41 Excel akan dikompresi menjadi paket zip dan diunggah ke klien untuk diunduh.
Konten di atas adalah empat cara untuk mengekspor Excel untuk alat Laporan Java Finerport. Saya harap ini akan membantu semua orang!