Экспортировать не удалось несколько листов в Excel из отчета Jasper - PullRequest
0 голосов
/ 10 февраля 2020

Я попытался выполнить ссылку здесь , но не смог. Лист в отчете яшмы не работает. Я создал 2 листа («Отчет об анализе», «Сводный отчет»). Однако во время отладки SimpleExporterInput.getInstance (листы) не работает.

Мой код:

insList.add(prepareReport(ReportConstant.TEMPLATE_SUMMARY_REPORT));
insList.add(prepareReport(ReportConstant.TEMPLATE_ANALYSIS_REPORT));
//fill data
  final Map<String, Object> params = (Map<String, Object>) parameters;
  final JRDataSource ds = new JRBeanCollectionDataSource(data);
//load JasperReport
  List<JasperReport> reports = new ArrayList<>();
  for (InputStream ins : insList) {
    reports.add((JasperReport) JRLoader.loadObject(ins));
  }
//create sheet
  List<JasperPrint> sheets = new ArrayList<>();

  reports.forEach(report -> {
    JasperPrint print = null;
    try {
      print = JasperFillManager.fillReport(report, params, ds);
    } catch (JRException ex) {
      logger.error("JasperFillManager.fillReport", ex);
    }
    if (print != null) {
      sheets.add(print);

    } else {
      logger.error("JasperPrint NULL");
    }
  });
  //some thing's was wrong
  JRXlsxExporter exporter = new JRXlsxExporter();
  exporter.setExporterInput(SimpleExporterInput.getInstance(sheets));
  //http response 
  exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(response.getOutputStream()));
  //my config
  SimpleXlsxReportConfiguration config = new SimpleXlsxReportConfiguration();
  config.setDetectCellType(false);
  config.setSheetNames(new String[]{"Accounting Analysis", "Summary Report"});
  config.setOnePagePerSheet(false);
  config.setCollapseRowSpan(false);
  config.setIgnoreGraphics(true);
  config.setWhitePageBackground(false);
  config.setIgnoreCellBackground(true);
  exporter.setConfiguration(config);
  exporter.exportReport();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...