При открытии в Excel отсутствует отображение данных в ods файле, сгенерированном в JasperSoft

Я делаю отчеты при помощи Jasper Soft - делаю таблицы, генерирую jrxml, вычисляю данные и заполняю этот шаблон.

public static void exportToOds(List<JasperPrint> jasperPrints, ByteArrayOutputStream output) {
    try (ByteArrayOutputStream outputStream = output) {
        JROdsExporter exporter = new JROdsExporter();
        exporter.setExporterInput(SimpleExporterInput.getInstance(jasperPrints));
        exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputStream));

        SimpleOdsReportConfiguration configuration = new SimpleOdsReportConfiguration();
        configuration.setOnePagePerSheet(true);
        exporter.setConfiguration(configuration);

        exporter.exportReport();
    } catch (Exception e) {
        throw new RuntimeException("Error exporting report to ODS", e);
    }
}
public void fill(UUID templateId, List<JasperPrint> jasperPrints, StorageMtsData data) {
        List<StorageMtsDataSheet> sheet = data.getStorageMtsDataSheet();

        JasperReport jasperReport = compileReport(String.format("report/%s/StorageMTCMainReport.jrxml", templateId));
        JasperReport jasperSubReport = compileReport(String.format("report/%s/StorageMTCSubReport.jrxml", templateId));
        JasperReport jasperSubSubReport = compileReport(String.format(
            "report/%s/StorageMTCSubSubTAReport.jrxml",
            templateId
        ));
        JRBeanCollectionDataSource mainDataSource = new JRBeanCollectionDataSource(sheet);
        Map<String, Object> params = new HashMap<>();
        params.put("SUBREPORT_PATH", jasperSubReport);
        params.put("SUBREPORT_SUBREPORT_PATH", jasperSubSubReport);

        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, mainDataSource);
        jasperPrints.add(jasperPrint);
    }
}

Дело в том, что при открытии файла ODS при помощи OpenOffice или LibraOfiice - все таблицы заполнены, а если открыть при помощи MicrosoftExcel - только пустые таблицы. Если открыть при помощи OpenOffice или LibraOfiice и сохранить, то после этого при открытии при помощи Excel все данные есть. Сравнил файл до сохранения и после сохранения - меняется версия манифеста: до сохранения - 1.0, после сохранения - 1.3. Мне надо сделать чтобы сгенерированный файл ODS сразу открывался при помощи Excel без промежуточных сохранений.


Ответы (0 шт):