有一个批量下载的功能,但是从ireport出来,到excel,总是有大空行,如图:
由于是批量功能,有分页显示,于是将一个关键字给ireport分组,依据分组的关键字,比如id来告诉ireport在不在一组,也就是在Excel显示的时候在不在一起。是一个组就在一起,但是在每一组之间,有大空行。
如图,是我设置的分组的头和尾。设置分组直接在面板上右击,然后添加分组,然后在右面的属性中填写分组的关键字即可,当然了,关键字是一个表达式,该表达式可以是一个字段,也可以是组合字段。当你想删除分组的时候,也可以删除。
解决:
1、因为我仅仅用到了三个brand,所以需要将其他不用的brand删除,以免占地方。
2、设置整个报表的属性。是整个报表,不是任何一个brand。
float column footer 这个选项允许你加强column footer band的打印,直接在最后detail band(或group footer)后显示而不不在column后显示。当你想用报表元素创建表格时使用这个选项。
ignore pagination:忽略分页
3、由于每一个组都有一个表头,也就是每一页都有表头,刚开始为了兼容pdf打印和excel的下载,我使用了一个模板。也就是在page header中设置了表头,在打印pdf的时候没事,因为打印出来的pdf就是每一个组在一页,下一页就是下一个组,中间是可以是空的。但是在下载Excel的之后,中间的空的肯定就是一个大的空格了。于是我单独设置了Excel的模板,将page header中的信息移到了 分组头中,也就是grouping head 1中。
4、查看一下group head 1的属性,发现有一个start on a new page ,这个属性非常试用于pdf的需求,但是不适用excel的需求啊。于是不能勾选该对勾。
于是,模板ok了。