将报告外部的值设置为碧玉报告
set values from outside the report to a jasper report
我将使用 jasper 报告生成报告。为此,我的计划是,
- 根据需要使用
iReport
工具创建 jrxml
文件。
- 设置报告外部所需的值。 (我的意思是,如果我的
java
程序中有一个名为 name="james"
的变量,则将该变量设置为报告中的文本字段)
- 然后创建报告并生成 pdf。
我需要知道的是这种可能性。我可以将我的变量设置到我的 jrxml
文件中的字段中吗?如果可以,我该怎么做?
What I need to know is the possibility of this. Can I set my variables into the fields in my jrxml file?
基本上是的。
您需要在报告中将参数定义为 "Parameter" 类型,然后以 $P{...}
格式在表单上提供 "Text Field Expression" 参数
然后,当你想填充报表时,你需要做的是创建一个Map
某种类型的,映射中的每个键应该是你在报表中定义的参数的名称,例如...
Map<String, Object> mapParameters = new HashMap<String, Object>(5);
mapParameters.put("USER_NAME", name);
JasperPrint print = JasperFillManager.fillReport(report, mapParameters);
解决了!!
para.put(<key>,<value>);
para.put(<key>,<value>);
para.put(<key>,<value>);
JasperFillManager.fillReportToFile(jr, para, new JRemptyDataSource());
如果您不编写新的 JRemptyDataSource(),则会出现一条消息,指出该文档没有页面
在您的报告中创建一个字段,并在字段表达式中放置您的参数(参数名称应具有相同的键值)
我得到答案
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();
我将使用 jasper 报告生成报告。为此,我的计划是,
- 根据需要使用
iReport
工具创建jrxml
文件。 - 设置报告外部所需的值。 (我的意思是,如果我的
java
程序中有一个名为name="james"
的变量,则将该变量设置为报告中的文本字段) - 然后创建报告并生成 pdf。
我需要知道的是这种可能性。我可以将我的变量设置到我的 jrxml
文件中的字段中吗?如果可以,我该怎么做?
What I need to know is the possibility of this. Can I set my variables into the fields in my jrxml file?
基本上是的。
您需要在报告中将参数定义为 "Parameter" 类型,然后以 $P{...}
然后,当你想填充报表时,你需要做的是创建一个Map
某种类型的,映射中的每个键应该是你在报表中定义的参数的名称,例如...
Map<String, Object> mapParameters = new HashMap<String, Object>(5);
mapParameters.put("USER_NAME", name);
JasperPrint print = JasperFillManager.fillReport(report, mapParameters);
解决了!!
para.put(<key>,<value>);
para.put(<key>,<value>);
para.put(<key>,<value>);
JasperFillManager.fillReportToFile(jr, para, new JRemptyDataSource());
如果您不编写新的 JRemptyDataSource(),则会出现一条消息,指出该文档没有页面 在您的报告中创建一个字段,并在字段表达式中放置您的参数(参数名称应具有相同的键值)
我得到答案
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();