当前位置: 首页 > 知识库问答 >
问题:

将报告外部的值设置为jasper报告

闾丘冠玉
2023-03-14

我将使用jasper reports生成报告。为此,我的计划是,

  • 使用iReport工具根据需要创建jrxml文件
  • 从报告外部设置所需的值。(我的意思是,如果我在java程序中有一个名为james的变量,请将该变量设置为报告中的文本字段)
  • 然后创建报告并生成pdf

我需要知道的是这种可能性。我可以将变量设置到jrxml文件的字段中吗?如果可能的话,我怎么做?

共有3个答案

万俟小林
2023-03-14

我得到了答案

     parameters.put("ReportTitle", "List of Contacts");
     parameters.put("Author", "Prepared By Manisha");

     JasperPrint print = JasperFillManager.fillReport(sourceFileName, parameters, new JREmptyDataSource());

     JRPdfExporter exporter = new JRPdfExporter();
     exporter.setExporterInput(new SimpleExporterInput(print));
     exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outFileNamePDF));
     SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
     configuration.setMetadataAuthor("Petter");  //why not set some config as we like
     exporter.setConfiguration(configuration);
     exporter.exportReport();
羊舌志
2023-03-14

解决了!!

para.put(<key>,<value>);
para.put(<key>,<value>);
para.put(<key>,<value>);

JasperFillManager.fillReportToFile(jr, para, new JRemptyDataSource());

如果不编写新的JREptyDataSource(),将显示一条消息,说明文档没有页面,并在报告中创建字段,在字段表达式中输入参数(参数名称应具有相同的键值)

邢嘉祯
2023-03-14

我需要知道的是这种可能性。我可以将变量设置到jrxml文件中的字段中吗?

基本上,是的。

您需要在报表中将参数定义为“参数”类型,然后在表单上以$P{…}格式提供参数作为“文本字段表达式”

然后,当您要填充报告时,您需要做的是创建某种Map,map中的每个键都应该是您在报告中定义的参数名称,例如...

Map<String, Object> mapParameters = new HashMap<String, Object>(5);
mapParameters.put("USER_NAME", name);

JasperPrint print = JasperFillManager.fillReport(report, mapParameters);

 类似资料:
  • 我正在从. jasper文件加载jasper报告文件以提高性能,如下所示。 但是我现在有一个要求,动态形成的查询必须设置为. jasper(编译)文件。有没有办法做同样的事情?

  • 我已经使用JRResultSetDataSource使用了Jasper报告,但这是我第一次使用JRBeanGrou 我正在尝试使用以下代码运行报告测试: 客户.java Report.java clientereport.jrxml Main.java 我得到以下错误: 我不知道我的代码有什么问题。

  • 我试图做一个Jasper报表簿,稍后填充它的内容,并保持封面不变,但是当我使用与报表簿对应的. jasper时,我得到了一个空白页。我一个接一个地传递这本书的页面,它起作用了,但是当我传递整本书时,我什么也没得到。 有人知道如何在java中使用整个Jasper报告簿来生成PDF吗? 谢谢。

  • 有人能告诉我如何为子报表设置不同的数据适配器吗?我似乎找不到使用不同连接的示例/教程。本质上,我正在创建一个基于JavaBean集合的报告,我正在努力迭代一个嵌套的对象集合,所以我想我会创建一个子报告,该子报告使用不同的JavaBean集合数据适配器集到主报告中JavaBean对象所包含的ListArray对象(我希望这是清楚的?)。 因此,例如,我可能有对象供应商,它作为JavaBean集合数据

  • Jasper reports正在努力从vip.user中找到字段。当我将prompt作为false使用defaultValueExpression填充数组列表时,它可以工作。

  • 我试图在jrxml中创建表格。表格中的列数可能会很大,当我试图以PDF格式导出报告时,由于列数很大,数据变得不可读。有什么方法可以让我们以更大的页面尺寸(如A3)导出报告,或者在A4尺寸上增加滚动功能。注意:报告只需要导出为pdf格式,而不是CSV或任何其他格式。 谢谢,任何帮助感谢。