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

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

最佳答案

  • 向报告模板添加 net.sf.jasperreports.export.xls.remove.empty.space.between.columns net.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 - 指定是否应删除空的间隔行。

    sample :

    <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"/>
    

    有关配置属性的信息是 here
  • 您可以为 textField 元素设置 isRemoveLineWhenBlank isBlankWhenNull 以隐藏空白行。

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

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

  • 如果这种设计:

    您将在任何两行之间有一个空格。

    如果这种设计(textField 高度等于 Band 的高度):

    每条线将完全在另一条线下方。

    关于excel - iReport (JasperReports) 额外行问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8354126/

    10-09 01:16