2014-09-01 44 views
0

即時通訊嘗試在Java程序中實現報告。我有一個用戶填寫的表格,最後有一個「打印報告」按鈕。Java - 使用ActionListener調用JasperReport

我需要做的是將字符串數組發送到將填充JasperReport參數的方法。

我有JasperReport JRXML文件設置並且TextFields等於參數。我只想從Java程序發送參數,然後打印報告。

在此先感謝。

回答

2

您可以參考以下代碼。把它放到你的監聽器中。

 File file=new File("demo.jrxml"); 
     InputStream stream=new FileInputStream(file); 
     JasperDesign design=JRXmlLoader.load(stream); 
     JasperReport report=JasperCompileManager.compileReport(design); 

     Map<String, Object> params=new HashMap<String, Object>(); 
     params.put("param1", "data1"); // note here you can add parameters which would be utilized by the report 

     JasperPrint print=JasperFillManager.fillReport(report, params,new JREmptyDataSource()); 
     //use JasperExportManager to export report to your desired requirement 

Note:可以指定你想要的參數,我已經使用的數據源是JREmptyDataSource,您可以根據您的要求指定。

希望它可以幫助你。

+0

這真的很棒。我無法完全測試它,因爲我還沒有完全弄清楚報告。我似乎要創建一個Jasper文件。我是否通過SQL查詢作爲參數或所有變量作爲參數發送? – user237462 2014-09-02 10:41:45

+0

好吧,所以我現在需要知道的是如何使用打印選項在屏幕上顯示它。也許只是發送到打印機,Windows將顯示打印預覽。 – user237462 2014-09-02 11:30:18

+0

首先發送的參數取決於您的報告。如果要直接在報告上顯示值,請將它們作爲參數發送。或者,您始終可以將查詢放入報告本身。 – 2014-09-02 12:59:12