2013-02-20 52 views
1

尝试了下面的代码,但未生成PDF报告。刚开始使用Jasper integartion。请帮忙。将Jasper Report与Java集成

public String mainReport() { 
     HashMap jrxmlParams = null; 


     try { 
     System.out.println("Start ...."); 
     // Get jasper report 
     String jrxmlFileName = "C:/Jasper/DP_crosstabs.jrxml"; 


     JasperReport objJReport = JasperCompileManager.compileReport(jrxmlFileName); 

     connection = getConnection(); 

     jrxmlParams = new HashMap(); 
     jrxmlParams.put("ID", "null"); 

     JasperPrint objJPrint = JasperFillManager.fillReport(objJReport, jrxmlParams, connection); 

     ByteArrayOutputStream objBAOutputStream = new ByteArrayOutputStream(); 

     JasperExportManager.exportReportToPdfStream(objJPrint, objBAOutputStream); 



     System.out.println("Done exporting reports to pdf"); 



     } catch (Exception e) { 
     System.out.print("Exceptiion" + e); 
     } 
    return null; 
    } 
+0

添加了所有相关jar文件,可以帮助的人这 – Sainik 2013-02-20 11:09:26

+0

是一个桌面应用程序? – psabbate 2013-02-20 12:21:41

回答

5

尝试下面的代码,

public static void main(String[] args) { 

    String reportPath = "/report3.jasper"; 
    Map<String, Object> params = new HashMap<String, Object>(); 
    Connection connection; 

    try { 


      Class.forName("com.mysql.jdbc.Driver"); 
      connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/person","root","password"); 

     System.out.println("Filling report..."); 
     JasperPrint jasperPrint = JasperFillManager.fillReport(reportPath, params, connection); 
     JasperExportManager.exportReportToPdfFile(jasperPrint, 
          "/Test.pdf"); 
     JasperViewer.viewReport(jasperPrint, false); 
     connection.close(); 
    } catch (Exception e) { 
     System.out.println(e.getMessage()); 
    } 

    }} 
+0

感谢您的帮助Sadagopan,它的工作:)...但根据项目要求,我们必须生成HTML格式的报告。能够使用导出管理器创建文件,但无法在同一实例中查看相同的文件。请帮助! – Sainik 2013-02-20 15:49:27

+0

Hi Jasper查看器将在所有格式的同一实例中触发生成的报告。请将上面的标记标记为答案。谢谢 – Sads 2013-02-20 17:48:06

+0

请投票答复。谢谢 – Sads 2013-03-06 12:03:52