Как создать несколько отчетов Jasper xlsxJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как создать несколько отчетов Jasper xlsx

Сообщение Anonymous »

У меня есть код, который генерирует отчет и создает zip-файл с этим отчетом внутри

Код: Выделить всё

public byte[] generate(InputStream inputStream, ReportData reportData) {
try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
Map params = reportData.getParams() != null ? reportData.getParams() : new HashMap();
params.put(JRParameter.REPORT_LOCALE, new Locale("ru"));
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport,
params,
CollectionUtils.isEmpty(reportData.getDataSources())
? new JREmptyDataSource()
: new JRBeanCollectionDataSource(reportData.getDataSources())
);

JRXlsxExporter exporter = new JRXlsxExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(os));
SimpleXlsxReportConfiguration xlsxReportConfiguration = new SimpleXlsxReportConfiguration();
xlsxReportConfiguration.setMaxRowsPerSheet(30000);
xlsxReportConfiguration.setDetectCellType(true);
exporter.setConfiguration(xlsxReportConfiguration);
exporter.exportReport();

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
ZipEntry entry = new ZipEntry("filename.xlsx");
entry.setSize(os.toByteArray().length);
zos.putNextEntry(entry);
zos.write(os.toByteArray());
zos.closeEntry();
zos.close();

return baos.toByteArray();
} catch (IOException | JRException e) {
log.error("Error while producing report: [{}]", e.getMessage(), e);
throw new ReportGenerationException(e);
}
}
Максимальное количество строк на листе должно быть 30000. А если строк больше - мне следует создать 2, 3 или более листов. Помогите, пожалуйста, как разделить лист на несколько листов по 30 000 строк каждый?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ports-xlsx
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»