JasperReports:如何制作包含多个列和行的动态报表

时间:2014-10-29 08:53:48

标签: jasper-reports

我正在寻找帮助在 JasperReports 中制作报告,报告格式类似于excel文件,其中行和列都来自数据。甚至列标题。

报告格式是这样的。

    |Column1 | Column2 | Column3 | Column4 | Column5 | Column6 | Column7 | Column8 | Column9 |
---------------------------------------------------------------------------------------
row1| data1  |         |         |         |         |         |         |         |         |
row2|        |         | data2   |         |         |         |         |         |         |
row3| data3  |         |         |         |         |         |         |         |         |

等等。

使用的数据源是XMLDataSource。

1 个答案:

答案 0 :(得分:1)

使用动态创建JasperDesign对象并设置页面大小。它将是你的模板。并动态添加您的列。例如,我在运行时添加文本字段。

    textField = new JRDesignTextField();
    textField.setBlankWhenNull(true);
    textField.setX(120);
    textField.setY(0);
    textField.setWidth(145);
    textField.setHeight(30);
    textField.setHorizontalAlignment(HorizontalAlignEnum.CENTER);
    textField.setVerticalAlignment(VerticalAlignEnum.MIDDLE);
    textField.setStyle(jasperDesign.getStylesMap().get("Sans_Bold"));
    textField.setStretchType(StretchTypeEnum.RELATIVE_TO_BAND_HEIGHT);
    textField.setExpression(new JRDesignExpression("$P{UniqueNumberValue}"));
    JRLineBox lineBox = textField.getLineBox();
    lineBox.getPen().setLineWidth(Float.MIN_NORMAL);
    lineBox.getPen().setLineColor(Color.BLACK);
    band.addElement(textField);