检测导出Jasper报告表

时间:2016-08-25 10:55:59

标签: jasper-reports

根据报告导出的内容,我在jasper报告中切换打印变量时遇到问题。我们假设我在碧玉报告中有两个字段:$ F {A}和$ F {B}。 如果使用rtf(富文本格式)导出,则jasper应打印$ F {A},如果使用非rtf导出,则打印$ F {B}。

我必须在jasper textField中写什么?
是否有任何函数作为exportedAs(" rtf")?
<textFieldExpression><![CDATA[(exportedAs("rtf")? $F{A} : $F{A})]]></textFieldExpression>

------在这里添加新信息------

我试图使用&lt; exporter_property_prefix&gt; .exclude.key
<property name="net.sf.jasperreports.export.rtf.exclude.key.NOTRTFFIELD"/>

让其他印刷品是pdf。
<property name="net.sf.jasperreports.export.rtf.exclude.key.NOTPDFFIELD"/>

我也把键放在报表元素中。

<code>
<reportElement key="NOTRTFFIELD">
<reportElement key="NOTPDFFIELD">
</code>


但是当$ F {A}和$ F {B}具有不同的行数时,它将为具有较少行的字段留下空白空间。


$ F {A}:
A1行
A2线
线A3

$ F {B}:
B1行

假设报告导出为PDF时打印$ F {A},报表导出为RTF时打印$ F {B}。

如果我们打印为PDF: other line... line A1 line A2 line A3 other line...

如果我们打印为RTF: other line... line B1 ---blank line--- ---blank line--- other line...

我必须删除那些空白行..

1 个答案:

答案 0 :(得分:2)

如果您可以使用不同的文本字段,net.sf.jasperreports.export.{format}.exclude.key.{suffix}属性可能会有帮助。

请参阅jasper-reports config.reference