DynamicJasper
DynamicJasper copied to clipboard
Merged blank row at the end of first page
I'm using DynamicJasper to export my reports to .xls files. It works fine, but there's something that's bothering me.
Although the setIgnorePagination
is set to true, at the end of what would be the first page there is a blank row that is merged with the start of the second page.
it doesn't affect the values of cells or the use of functions on the columns, but it is unsetling.
Bellow is the report generator and filler calls:
`jr = DynamicJasperHelper.generateJasperReport(pais != null ? buildReport(pais) : buildReport(), getLayoutManager(), params);
log.debug("Filling the report");
if (ds != null)
jp = JasperFillManager.fillReport(jr, params, ds);
else
jp = JasperFillManager.fillReport(jr, params);
log.debug("Filling done!");
log.debug("Exporting the report (pdf, xls, etc)");
log.debug("test finished");
return exportReport();`
And here is my reportBuilder code:
`DynamicReportBuilder drb = new DynamicReportBuilder(); Style columDetail = new Style(); columDetail.setBorder(Border.THIN()); Style detailStyle = new Style(); detailStyle.setBorder(Border.THIN());
Style valorStyle = new Style();
valorStyle.setBorder(Border.THIN());
valorStyle.setHorizontalAlign(HorizontalAlign.RIGHT);
valorStyle.setVerticalAlign(VerticalAlign.MIDDLE);
Style headerStyle = new Style();
headerStyle.setFont(Font.ARIAL_BIG_BOLD);
headerStyle.setBorderBottom(Border.PEN_1_POINT());
headerStyle.setHorizontalAlign(HorizontalAlign.CENTER);
headerStyle.setVerticalAlign(VerticalAlign.MIDDLE);
headerStyle.setBackgroundColor(Color.DARK_GRAY);
headerStyle.setTextColor(Color.WHITE);
headerStyle.setTransparency(Transparency.OPAQUE);
Style titleStyle = new Style("titleStyle");
Style subtitleStyleParent = new Style("subtitleParent");
subtitleStyleParent.setBackgroundColor(Color.CYAN);
subtitleStyleParent.setTransparency(Transparency.OPAQUE);
Style subtitleStyle = Style.createBlankStyle("subtitleStyle", "subtitleParent");
subtitleStyle.setFont(Font.GEORGIA_SMALL_BOLD);
AbstractColumn columnNome = ColumnBuilder.getNew().setColumnProperty("nome", String.class.getName())
.setTitle("Nome").setWidth(200).setStyle(detailStyle).setHeaderStyle(headerStyle).build();
AbstractColumn columnCpfCnpj = ColumnBuilder.getNew()
.setColumnProperty(pais.equals(PaisRegiaoEnum.BR) ? "cpfCnpj" : "nif", String.class.getName())
.setTitle(pais.equals(PaisRegiaoEnum.BR) ? "CPF - CNPJ" : "NIF").setWidth(85).setStyle(valorStyle)
.setHeaderStyle(headerStyle).build();
AbstractColumn columnDataInicio = ColumnBuilder.getNew().setColumnProperty("dataInicioReport", String.class.getName())
.setTitle("Data inicio").setWidth(60).setStyle(valorStyle).setHeaderStyle(headerStyle).build();
AbstractColumn columnDataFim = ColumnBuilder.getNew().setColumnProperty("dataFimReport", String.class.getName())
.setTitle("Data fim").setWidth(60).setStyle(valorStyle).setHeaderStyle(headerStyle).build();
AbstractColumn columnValor = ColumnBuilder.getNew().setColumnProperty("valor", String.class.getName())
.setTitle("Valor contrato").setWidth(85).setStyle(valorStyle).setHeaderStyle(headerStyle).build();
AbstractColumn columnEmail = ColumnBuilder.getNew().setColumnProperty("email", String.class.getName())
.setTitle("E-mail").setWidth(85).setStyle(valorStyle).setHeaderStyle(headerStyle).build();
AbstractColumn columnContato = ColumnBuilder.getNew().setColumnProperty("numero", String.class.getName())
.setTitle("Contato").setWidth(85).setStyle(valorStyle).setHeaderStyle(headerStyle).build();
drb.setDefaultStyles(titleStyle, subtitleStyle, headerStyle, detailStyle);
drb.addColumn(columnNome);
drb.addColumn(columnCpfCnpj);
drb.addColumn(columnDataInicio);
drb.addColumn(columnDataFim);
drb.addColumn(columnValor);
drb.addColumn(columnEmail);
drb.addColumn(columnContato);
drb.setMargins(0, 0, 0, 0).setPageSizeAndOrientation(Page.Page_A4_Portrait()).setReportName("AAA")
.setUseFullPageWidth(true).setIgnorePagination(true);
return drb.build();`