В реальных приложениях часто необходимы данные в Excel. В дополнение к экспорту ASI есть, есть также экспорт страниц, экспорт листа страниц и крупный экспорт данных. Для Excel2003 максимальное количество строк и столбцов каждого листа ограничено. При экспорте больших объемов данных несколько листов будут разделены по умолчанию, а Excel2007 не будет иметь таких проблем. Эти методы экспорта имеют разные интерфейсы для реализации в программах Java:
1. Экспорт как есть
Экспорт, как только для экспорта Excel без просмотра
Код интерфейса программы выглядит следующим образом:
outputStream = new FileOutputStream (New File ("E: //excelexport.xls")); Excelexporter Excel = new ExcelExporter (); // Export 2007 outputStream = new FileOutputStream (New File ("E: //excelexport.xlsx")); Excel Excel2007Exporter Excel = new Excel2007Exporter (); Excel.export (outputstream, rworkbook);Изображение воспроизведения:
2. Экспорт лиц
Экспорт страниц. Если шаблон отчета будет нанесен на страницу, он будет экспортирован в виде результатов страниц, а дублируемые названия и т. Д. Также будут повторены.
Код интерфейса программы выглядит следующим образом:
outputStream = new FileOutputStream (New File ("E: //pageExcelexport.xls")); PageExcelExporter Page = New PageExcelExporter (ReportUtils.getPaperSettingListfrombook (RWorkBook)); // Export 2007 outputStream = new FileOutputStream (New File ("E: //pageExcelexport.xlsx")); Excel PageExcel2007Exporter Page = new PageExcel2007Exporter (ReportUtils.getPaperSettingListFromWorkBook (RWorkBook)); page.export (outputstream, rworkbook);Изображение воспроизведения:
3. Экспортные страницы в листах
Когда страница экспортируется, каждая страница результата отчета сохраняется в файле Excel.
Код заключается в следующем:
outputStream = new FileOutputStream (New File ("E: //PageSheetExcelexport.xls")); PageToSheExcelExporter Sheet = New PageTosheExcelExporter (ReportUtils.getPaperSettingListFromWork (RWorkBook)); // Export 2007 версия outputStream = new FileOutputStream (New File ("E: //PageSheetExcelexport.xlsx")); Excel pagetosheetexcel2007exporter лист = new pagetosheetexcel2007exporter (отчеты. sheet.export (outputstream, rworkbook);Изображение воспроизведения:
4. Экспорт большого объема данных
Это чаще, например, файл Excel с поведением 50000
Код заключается в следующем:
outputStream = new FileOutputStream (New File ("E: //largeExcelexport.zip")); LARGEDATAPAGEEXCELEXPORTER LAGIL = NEW LARGEDATAPAGEEXCELEXPORTER (ReportUtils.getPaperSettingListfrombook (RWorkBook), True); // Export 2007 версия outpertstream = new FileOutputStream (New File ("E: //largeExcelexport.xlsx")); Excel largedAtapageExcel2007Exporter lags = new largedAtApageExcel2007exporter (отчеты. lags.export (outputstream, rworkbook);При экспорте отчетов из больших объемов данных могут возникнуть следующие две ситуации:
1. Если экспорт успешно, данные будут отображаться на нескольких листах;
2. Два. Экспорт потерпел неудачу, и экспортированный контент Excel недействителен. Есть две основные причины приведенной выше ситуации:
4.1 Экспорт отчетов о крупных объемах данных без линейного двигателя
Без включенного двигателя линии также произойдут две ситуации: экспорт успешен, если сервер может нести его, и экспорт не удастся, если сервер не может его вынести. Давайте посмотрим на результаты ниже:
4.1.1 Сервер находится в рамках
Приемлемый диапазон: объем данных велико, что превышает максимальное количество рядов Excel, но не очень, очень большие, таких как 100 000 штук, и данные не сложны, и его можно нормально экспортировать, если память достаточна, а сеть не прерывается. При экспорте данные, превышающие максимальную строку или столбец Excel, будут отображаться в следующем листе. Тем не менее, Excel имеет ограничение на количество строк и столбцов. Например, Excel 2003 имеет максимальный предел 65536 строк, а максимальный предел по количеству столбцов составляет 256 столбцов.
4.1.2 Сервер не может его вынести
Невыносимый диапазон заключается в том, что объем данных большой и очень большой, такой как сотни тысяч или миллионов или даже больше, и сбой экспорта может произойти из -за ограничений на память. Когда результат экспортируется, содержание Excel, которое не удалось экспортировать, является недействительным.
Для этих двух результатов экспорта основная причина заключается в том, сколько объема данных и сложности данных (количество столбцов). Там будет критическая точка без двигателя строки. Когда экспорт ниже критической точки, экспортированный контент будет иметь несколько листов, в противном случае экспорт потерпел неудачу, а содержание будет недействительным. Следовательно, для больших отчетов по объему данных он обычно отображается с использованием строки. В этом случае экспорт Excel всегда успешна. Когда в Excel экспортируются отчеты о больших объемах данных с поддержкой двигателя, они разделены на несколько файлов .xls и передаются клиенту в формате файла сжатого пакета.
4.2 Включить линейный экспорт двигателя в больших отчетах по объему данных
Для больших отчетов о объеме данных он обычно представляется с использованием строки двигателя, и в этом случае экспорт Excel всегда успешна. Потому что при экспорте Excel с большим отчетом о объеме данных Line Engine он делится на несколько файлов .xls и передается клиенту в формате файла сжатого пакета.
Например, большой отчет о объеме данных имеет 100 Вт строк данных, и настраивается двигатель строки, и на страницу отображаются 30 строк. Экспортируемый результат составит 41 Excel, первые 40 Excel будут 24990 строк каждый, последний Excel составит 400 строк, а 41 Excel будет сжат в пакеты ZIP и загружен в клиент для загрузки.
Вышеуказанный контент представляет собой четыре способа экспорта Excel для инструмента Java Finereport. Я надеюсь, что это будет полезно для всех!