古詩詞大全網 - 四字成語 - jasperreports壹次打印多張報表怎麽實現

jasperreports壹次打印多張報表怎麽實現

1、若是采用bean作為數據源,可將多個條數據組裝成List:

List<YourBean> list = new ArrayList<YourBean>();

list.add(xxx);

list.add(xxx);

......

2、將List裝入中:

JRDataSource source =new JRBeanCollectionDataSource(list)

3、初始化jasperReport 對象:

JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile("妳的.jasper文件路徑");

4、構建JasperPrint 對象,將jasperReport 對象,source數據源填充到report中:

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null, source);

5、獲取打印機列表:

PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

DocFlavor flavor = DocFlavor.BYTE_ARRAY.PNG;

PrintService[] printService = PrintServiceLookup.lookupPrintServices(flavor, pras);

6、指定打印機打印:

for (PrintService p : printService) {

if("指定的打印機名稱".equals(p.getName())){

JRAbstractExporter je=new JRPrintServiceExporter();

//傳入jasperPrint對象

je.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);

je.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE,p);

je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG,false);

je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG,false);

je.exportReport();

}

}