Jasper Reports:CSV和PDF问题的相同模板

时间:2012-07-09 12:39:59

标签: java jasper-reports

我有一个报告,其中pdf和csv的导出结果在某些列中有所不同,我想对两个导出使用相同的模板。与PDF输出相比,CSV会有更多或更少的列。我使用 JRCsvMetadataExporter 作为我的CSV导出器。所以我尝试做的是为CSV和PDF创建一个单独的乐队,在用于CSV的乐队中,我的代码就像

<band height="0">
  <printWhenExpression><![CDATA[Boolean.FALSE]]></printWhenExpression>
  <textField>
      <reportElement x="0" y="0" width="119" height="0">
            <property name="net.sf.jasperreports.export.csv.column.name" value="Column_1"/>
             <propertyExpression name="net.sf.jasperreports.export.csv.data"><![CDATA[$F{COL_1}]]></propertyExpression>
       </reportElement>
   </textField>
</band>

但是当我运行导出时,没有为CSV生成任何内容,我预计当 printWhenExpression 为false时,它不会包含在PDF导出中,CSV导出器将包含乐队中提到的列。谁能让我知道我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

如果使用Boolean.FALSE对printWhenExpression进行硬编码,则它将永远不会出现在PDF和CSV中。尝试在jrxml中添加宽度和高度为0的元素,这将使其不显示在PDF中,但它将显示在CSV中,因为您使用的是JRCsvMetadataExporter