2010-03-29 47 views
0

可以將JasperReports查看器集成到我的Swing應用程序中,就像從應用程序中單擊查看報告按鈕後應該打開查看器一樣。如果可以的話,您可以通過代碼片段爲此集成提供建議,並且在此查看器中,應將保存類型限制爲僅限PDF,而不是其他所有可用的下載選項過濾器。如何將JasperViewer與基於Swing的應用程序集成

請在這方面給我建議。

回答

2

是的,你可以,Jasper報表拿出一個可用的(雖然簡單)的報表查看器:

... 
      JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); 
      JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport...); 
      JasperViewer.viewReport(jasperPrint); 
... 

最後一行就是顯示觀衆。不過,我不確定您是否可以將可用的輸出格式限制爲PDF。

0

讓我們假設該報告包含報告文件(* .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; 
} 

}

相關問題