可以將JasperReports查看器集成到我的Swing應用程序中,就像從應用程序中單擊查看報告按鈕後應該打開查看器一樣。如果可以的話,您可以通過代碼片段爲此集成提供建議,並且在此查看器中,應將保存類型限制爲僅限PDF,而不是其他所有可用的下載選項過濾器。如何將JasperViewer與基於Swing的應用程序集成
請在這方面給我建議。
可以將JasperReports查看器集成到我的Swing應用程序中,就像從應用程序中單擊查看報告按鈕後應該打開查看器一樣。如果可以的話,您可以通過代碼片段爲此集成提供建議,並且在此查看器中,應將保存類型限制爲僅限PDF,而不是其他所有可用的下載選項過濾器。如何將JasperViewer與基於Swing的應用程序集成
請在這方面給我建議。
是的,你可以,Jasper報表拿出一個可用的(雖然簡單)的報表查看器:
...
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport...);
JasperViewer.viewReport(jasperPrint);
...
最後一行就是顯示觀衆。不過,我不確定您是否可以將可用的輸出格式限制爲PDF。
讓我們假設該報告包含報告文件(* .jrxml)的名稱。 這個程序將用來自mysql數據庫的數據填充報告。 我希望這可以解決您的問題。
public void generate(String report) { // report will contain the name of your file
try {
InputStream design = getClass().getResourceAsStream(report);
JasperDesign jasperdesing = JRXmlLoader.load(design);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperdesing);
Connection con = ConnectDB.connect();// connect function in ConnectDB calss is used to connect to the database
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, con);
JasperViewer.viewReport(jasperPrint, false);
} catch (Exception e) {
System.out.println("Exception " + e);
}
}
public class ConnectDB {
public static Connection con = null;
public static Connection connect(){
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql:///dbname","username","password");
}catch(Exception e){
System.out.println();
}
return con;
}
}