Да, вы можете сделать это с помощью свойства net.sf.jasperreports.export.xls.row.outline.level.{n}
.
Информация о экспорте в Excel здесь здесь .
Вы можете просмотреть образец в пакете JasperReports, в папке *$jasperreports_folder$\demo\samples\xlsfeatures*
.
Образец:
<group name="citygroup">
<groupExpression><![CDATA[$F{city}]]></groupExpression>
<groupHeader>
<band height="20">
<textField>
<reportElement x="0" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA["City: " + $F{city}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
<groupFooter>
<band height="21">
<textField>
<reportElement x="0" y="1" width="100" height="20">
<!-- Outline row group ends here-->
<property name="net.sf.jasperreports.export.xls.row.outline.level.1" value="End"/>
</reportElement>
<textElement/>
<textFieldExpression><![CDATA["Total: " + $V{citygroup_COUNT}]]></textFieldExpression>
</textField>
</band>
</groupFooter>
</group>
<detail>
<band height="20" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="20">
<!-- Outline row group starts here-->
<property name="net.sf.jasperreports.export.xls.row.outline.level.1" value="Body"/>
</reportElement>
<textElement/>
<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="100" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="200" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{address}]]></textFieldExpression>
</textField>
</band>
</detail>
Ограничение:
Этот пример работает правильно (экспорт в xls через функцию предварительного просмотра) в iReport 4.1.3 версии , но не в 4.1 .2 версия. Возможно, это новая функция версии 4.1.3 (см. примечания к выпуску ).