我将使用jasper报告生成报告。为此,我的计划是,
jrxml
工具根据需要创建iReport
文件。name="james"
程序中有一个名为java
的变量,则该变量为报告中的文本字段。我需要知道的是这种可能性。我可以将变量设置到jrxml
文件的字段中吗?如果有可能,我该怎么办?
答案 0 :(得分:4)
我需要知道的是这种可能性。我可以将变量设置到jrxml文件的字段中吗?
基本上,是的。
您需要将参数定义为"参数"在报告中键入,然后提供参数作为"文本字段表达式"在格式为$P{...}
然后,当您要填写报表时,您需要创建一种Map
某种类型,地图中的每个键都应该是您在报表中定义的参数名称,例如..
Map<String, Object> mapParameters = new HashMap<String, Object>(5);
mapParameters.put("USER_NAME", name);
JasperPrint print = JasperFillManager.fillReport(report, mapParameters);
答案 1 :(得分:0)
para.put(<key>,<value>);
para.put(<key>,<value>);
para.put(<key>,<value>);
JasperFillManager.fillReportToFile(jr, para, new JRemptyDataSource());
如果您不编写新的JRemptyDataSource(),则会显示一条消息,表明该文档没有页面 并在报表内创建一个字段,并在字段表达式中放置您的参数(参数名称应具有相同的键值)
答案 2 :(得分:0)
我得到了答案
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<artifactSet>
<includes>
<include>com.fasterxml.jackson.core:jackson-databind</include>
</includes>
</artifactSet>
<relocations>
<relocation>
<pattern>com.fasterxml.jackson.core</pattern>
<shadedPattern>shaded.fasterxml.jackson.core.databind</shadedPattern>
</relocation>
</relocations>
</configuration>