Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iReport (JasperReports) extra row issue

I am getting an extra empty row between data when I am importing it from the database and formatting the report in Excel sheet.

EDIT (clarification from a comment): The output in Excel shows an extra blank row between records and and extra blank column between fields.

like image 569
Dheeraj Kene Avatar asked Dec 17 '22 06:12

Dheeraj Kene


1 Answers

  • Add net.sf.jasperreports.export.xls.remove.empty.space.between.columns and net.sf.jasperreports.export.xls.remove.empty.space.between.rows properties to report template.

net.sf.jasperreports.export.xls.remove.empty.space.between.columns - Specifies whether the empty spacer columns should be removed or not.

net.sf.jasperreports.export.xls.remove.empty.space.between.rows - Specifies whether the empty spacer rows should be removed or not.

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

The information about configuration properties is here.

  • You can set isRemoveLineWhenBlank and isBlankWhenNull for textField element for hiding blank row.

The sample how to remove the whole line if the current textField is empty:

<textField isBlankWhenNull="true">
    <reportElement x="0" y="0" width="100" height="20" isRemoveLineWhenBlank="true"/>
    <textElement/>
    <textFieldExpression><![CDATA[$F{field}]]></textFieldExpression>
</textField>
  • Another assumption is to change the height of all textField (or/and staticText) elements in the Band.

In case this design:

design with a space between textField and the band's boundary

you will have a space between any two rows.

In case this design (textField height is equal to the Band's height): the textfield height is equal to the band's height

the each line will be exactly under the other.

like image 53
Alex K Avatar answered Feb 20 '23 01:02

Alex K