JasperReports экспортирует CSV, пустой вывод

Использование JasperReports для экспорта в PDF работает. Но когда я экспортирую в CSV, я получаю пустой файл:/

Файл яшмы .jrxml:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Unnamed" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30"> 

<field name="id" class="java.lang.Long"/>

<detail>
    <band height="100">
        <textField isStretchWithOverflow="true">
            <reportElement positionType="Float" x="0" y="5" width="50" height="15"/>
            <box leftPadding="10" rightPadding="10"/>
            <textElement/>
            <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
        </textField>        
    </band>
</detail>

The javacode:

JasperReport jasperReport =       JasperCompileManager.compileReport(this.getClass().getClassLoader()
            .getResourceAsStream("template.jrxml"));

Map<String, Object> parameters = new HashMap<String, Object>();
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, getDataSource());

ByteArrayOutputStream baos = new ByteArrayOutputStream();
JRExporter exporter = new JRCsvExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
return baos.toByteArray();

person Fico    schedule 28.03.2012    source источник
comment
из кода, который вы разместили, он выглядит нормально, но у вас нет кода, в котором вы записываете его в реальный файл. Вы уверены, что работает правильно? Массив byte[] возвращается нулевым или пустым?   -  person Jacob Schoen    schedule 28.03.2012


Ответы (2)


Я не вижу, где вы вызываете exporter.exportReport().

person David    schedule 04.02.2013

да, вам нужно только добавить exporter.exportReport();

после exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);

и работает нормально.

person Luis Chacon    schedule 16.10.2020