![](/img/trans.png)
[英]How to pass parameters to sub subreports from java code JasperReports
[英]How to pass multiple parameters to reports and export to PDF in JasperReports from Java
我正在尝试使用Jasper Reports来帮助我的应用程序中的报告。 我将必须以HTML(JSP)显示报告,还需要能够从我的网页中将报告导出为PDF。
我的大多数报告都需要多个参数,而且我无法弄清楚如何将它们从Servlet(如果必须在此处传递)传递给报告。
PS:我没有使用任何类型的框架,如果您可以提出免费的框架实现,那就太好了。
你可以像这样使用HashMap
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("parameterName","value");
JasperPrint print = JasperFillManager.fillReport(report,map,con);
该示例将为您提供帮助,它不需要任何框架。 它将报告导出为PDF。 您可以使用地图,如Anil已经解释过的
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("parameterName","value");
map.put("parameterName2","value2");
map.put("parameterName3","value3");
JasperPrint print = JasperFillManager.fillReport(report,map,con);
传递多个参数。
//Preparing data - change this as per your requirement
List<DataDTO> dataDTOList = new ArrayList<DataDTO>();
DataDTO dataDTO = new DataDTO;
dataDTO.setFirstName("FirstName"); // in your Jasper field name is 'firstName' as type String
dataDTO.setLastName("LastName"); // in your Jasper field name is 'lastName' as type String
dataDTOList.add(dataDTO);
// Adding data
JRDataSource jrdatasource = new JRBeanCollectionDataSource(dataDTOList);
// Exporting report
File jasperFile = new File("C:/YourReport.jasper"); // change this
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(new FileInputStream(jasperFile.getAbsolutePath()));
Map parameters = new HashMap();
JRConcurrentSwapFile jrSwapFile = new JRConcurrentSwapFile("C:/PDFOutput/"),30,2);
JRSwapFileVirtualizer virtualizer = new JRSwapFileVirtualizer(2,jrSwapFile,true);
parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
JasperPrint jpPrintObj = JasperFillManager.fillReport(jasperReport,parameters,jrdatasource);
JasperExportManager.exportReportToPdfFile(jpPrintObj,"C:/PDFOutput/");`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.