是否可以通过Java外部应用程序更改创建的iReport文件(jrxml)

时间:2016-05-11 07:31:41

标签: java properties jasper-reports

我想知道可以使用Java外部应用程序更改iReport中字段的属性值。

例如,首先我创建一个报告名称abc.jrxml。这是abc.jrxml文件的XML代码的一部分。

<reportElement x="117" y="2" width="65" height="20" uuid="2f281676-e098-4213-b1d3-57b845960b2a"/>

我想更改这些值:x =“117”到x =“200”。 height =“20”到height =“25”。我想通过java命令尝试一下。这可能与否。如果有可能我怎么能做到。

1 个答案:

答案 0 :(得分:2)

正如Alex K.所指出的,使用Java应用程序更改属性的最佳方法是使用Jasper Reports API创建报告。

例如在一个答案中 http://community.jaspersoft.com/questions/525188/dynamic-width-textfied-parameter在生成报告之前更改了对象的宽度:

JasperDesign design = xmlLoader.loadXML(..jrxmlStream..);
JRElement[] elements = design.getDetail().getElements();
String elementKey = ..key of element to modify..;
int newWidth = ..new element width..;
for (int i = 0; i < elements.length; i++)
{
    JRDesignElement element = (JRDesignElement) elements[i];
    if (elementKey.equals(element.getKey())) {
        element.setWidth(newWidth);
    }
}

您可以使用其他setHeightsetX()setY()来更改元素属性。

此处提供了更多信息:http://community.jaspersoft.com/wiki/jasperreports-library-reference-materials