2012-08-06 83 views

回答

22

您可以通過幾種方法完成此操作。

  • 第一個實際上是創建2個單獨的報告併合並它們。基本上你可以畫出你想要的每一頁。在導出時,您創建報告的2個JasperPrint實例,然後批量導出它們。

    public byte[] generateReport(JasperPrint jasperPrint1, JasperPrint jasperPrint2) { 
        //throw the JasperPrint Objects in a list 
        List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>(); 
        jasperPrintList,add(jasperPrint1); 
        jasperPrintList,add(jasperPrint2); 
    
    
        ByteArrayOutputStream baos = new ByteArrayOutputStream();  
        JRPdfExporter exporter = new JRPdfExporter();  
        //Add the list as a Parameter 
        exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList); 
        //this will make a bookmark in the exported PDF for each of the reports 
        exporter.setParameter(JRPdfExporterParameter.IS_CREATING_BATCH_MODE_BOOKMARKS, Boolean.TRUE); 
        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);  
        exporter.exportReport();  
        return baos.toByteArray(); 
    } 
    
  • 第二種方法是轉到子報表路由。基本上你創建了報告的第一頁。然後創建報告的第二頁。然後在iReport中,您可以將子報表添加到摘要波段中,傳遞需要運行的所有信息(即數據庫連接,數據源,參數等)。在總體報告的屬性下,您需要確保已選擇Summary on new page,以便子報表將在其自己的頁面上打印。

+0

結合這個http://stackoverflow.com/a/23390202/1742973我確實使它工作 – 2016-03-17 23:06:53

5

我已經找到了另一種方式的網頁添加到報表(使用iReport的5.0.1): 您可以只需添加一個新的細節區域,設置它的高度是一樣的第一,並把內容在這個新地區的第二頁。 實際上,您可以根據需要添加儘可能多的細節區域,從而創建多頁報告。

+0

這種方法的問題是你在後面的頁面上得到第一個數據帶列標題。 – 2014-09-08 14:48:17

+1

同意。詳細信息band用於迭代,而不用於添加全局內容 – frandevel 2015-08-24 13:08:43

1

要添加一個新頁面轉到Ireport和「添加報表組」,通過添加報表組,您可以添加任意數量的頁面。

相關問題