iReport(JasperReports)额外的行问题

Dhe*_*ene 4 excel jasper-reports ireport

当我从数据库导入数据并在Excel工作表中格式化报表时,我在数据之间得到一个额外的空行.

编辑(评论澄清):Excel中的输出显示记录之间的额外空行和字段之间的额外空白列.

Ale*_*x K 9

  • 添加net.sf.jasperreports.export.xls.remove.empty.space.between.columnsnet.sf.jasperreports.export.xls.remove.empty.space.between.rows报告模板的属性.

net.sf.jasperreports.export.xls.remove.empty.space.between.columns- 指定是否应移除空间隔列.

net.sf.jasperreports.export.xls.remove.empty.space.between.rows- 指定是否应删除空间隔行.

例子:

<jasperReport ...>
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
    <property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
Run Code Online (Sandbox Code Playgroud)

有关配置属性的信息在此处.

  • 您可以为textField元素设置isRemoveLineWhenBlankisBlankWhenNull以隐藏空白行.

示例如果当前textField为空,如何删除整行:

<textField isBlankWhenNull="true">
    <reportElement x="0" y="0" width="100" height="20" isRemoveLineWhenBlank="true"/>
    <textElement/>
    <textFieldExpression><![CDATA[$F{field}]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)
  • 另一个假设是更改Band中所有textField(或/和staticText)元素的高度.

如果这个设计:

在textField和乐队的边界之间设计一个空格

任何两行之间都有一个空格.

如果这个设计(textField高度等于Band的高度): 文本字段高度等于乐队的高度

每条线都正好在另一条线之下.