2010-03-29 46 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; 
} 

}

相关问题