0
即時通訊嘗試在Java程序中實現報告。我有一個用戶填寫的表格,最後有一個「打印報告」按鈕。Java - 使用ActionListener調用JasperReport
我需要做的是將字符串數組發送到將填充JasperReport參數的方法。
我有JasperReport JRXML文件設置並且TextFields等於參數。我只想從Java程序發送參數,然後打印報告。
在此先感謝。
即時通訊嘗試在Java程序中實現報告。我有一個用戶填寫的表格,最後有一個「打印報告」按鈕。Java - 使用ActionListener調用JasperReport
我需要做的是將字符串數組發送到將填充JasperReport參數的方法。
我有JasperReport JRXML文件設置並且TextFields等於參數。我只想從Java程序發送參數,然後打印報告。
在此先感謝。
您可以參考以下代碼。把它放到你的監聽器中。
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
,您可以根據您的要求指定。
希望它可以幫助你。
這真的很棒。我無法完全測試它,因爲我還沒有完全弄清楚報告。我似乎要創建一個Jasper文件。我是否通過SQL查詢作爲參數或所有變量作爲參數發送? – user237462 2014-09-02 10:41:45
好吧,所以我現在需要知道的是如何使用打印選項在屏幕上顯示它。也許只是發送到打印機,Windows將顯示打印預覽。 – user237462 2014-09-02 11:30:18
首先發送的參數取決於您的報告。如果要直接在報告上顯示值,請將它們作爲參數發送。或者,您始終可以將查詢放入報告本身。 – 2014-09-02 12:59:12