2012-03-28 95 views
0

使用JasperReports导出为PDF作品。但是,当我导出为CSV,我得到一个空文件:/JasperReports导出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> 

的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(); 
+1

从您发布的代码看起来很好,但是您没有将代码写入实际文件的代码。你确定这个工作正常吗? byte []数组是否返回null或空? – 2012-03-28 19:30:03

回答

0

我没有看到你在哪里调用exporter.exportReport()。