Code.GeekInterview.com
 
 

Java Code Base

 
Code Samples Java
 

Jasper Report Application


Code ResourceAuthor: srinivasaraobora  

Difficulty Level: Intermediate

Published: 25th Apr 2009   Read: 11847 times  

Filed in: Java
Add Comment


 

 

Sponsored Links


 

 

This Code Demonstrates how to generate a report by using jasper. change the database properties in code. and change the table name and entities in the jrxml files. here it uses two jrxml files and generates all types of reports. but we need to set the class path for all required libraries commons-beanutils.jar commons-collections-3.1.jar commons-digester-1.4.1.jar commons-digester-1.5.jar commons-digester-1.7.jar commons-digester1.jar commons-digester.jar commons-logging-1.0.2.jar iText-2.1.0.jar jasper-compiler.jar jasper-compiler-jdt.jar jasperreports-1.0.3.jar jasperreports-1.2.6.jar jasperreports-2.0.5.jar jasper-runtime.jar ojdbc14.jar

 


Sample Code
  1. Main.java
  2.  
  3.  
  4.  
  5.  
  6. import java.sql.DriverManager;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. import net.sf.jasperreports.engine.JRException;
  10. import net.sf.jasperreports.engine.JasperCompileManager;
  11. import net.sf.jasperreports.engine.JasperExportManager;
  12. import net.sf.jasperreports.engine.JasperFillManager;
  13. import net.sf.jasperreports.engine.JasperPrint;
  14. import net.sf.jasperreports.engine.JasperReport;
  15. import net.sf.jasperreports.view.JasperViewer;
  16.  
  17. public class Main {
  18.  
  19.    
  20.     public Main() {
  21.     }
  22.  
  23.  
  24.     public static void main(String[] args) {
  25.         // TODO code application logic here
  26.        
  27.        
  28.           String reportSource1 = "./templates/stdtab.jrxml";
  29.           String reportSource = "./templates/sampletab.jrxml";
  30. String reportDest = "./report/reports1/MyProjReport.pdf";
  31. String reportDest1 = "./report/reports2/SampleReport.html";
  32. String reportDest2 = "./report/reports3/SampleReport.xml";
  33. Map<String, Object> params = new HashMap<String, Object>();
  34. params.put("reportTitle", "MY Project Reports");
  35. params.put("author", "SRINIVAS");
  36. params.put("startDate", (new java.util.Date()).toString());
  37. try
  38. {
  39.             JasperReport jasperReport =
  40.                 JasperCompileManager.compileReport(reportSource);
  41.              JasperReport jasperReport1 =
  42.                 JasperCompileManager.compileReport(reportSource1);
  43.             // Make the driver class available.
  44.             Class.forName("oracle.jdbc.driver.OracleDriver");
  45.            
  46.             // Create a connection to pass into the report.
  47.             java.sql.Connection conn = DriverManager.getConnection(
  48.                 "url", "username", "password");
  49.            
  50.             // Replace the empty JR datasource parameter with
  51.             // the connection parameter named conn.
  52.             JasperPrint jasperPrint =
  53.                 JasperFillManager.fillReport(
  54.                 jasperReport, params, conn);
  55.             JasperPrint jasperPrint1 =
  56.                 JasperFillManager.fillReport(
  57.                 jasperReport1, params, conn);
  58.            
  59.             JasperExportManager.exportReportToPdfFile(
  60.             jasperPrint, reportDest);
  61.             JasperExportManager.exportReportToHtmlFile(
  62.                 jasperPrint1, reportDest1);
  63.            
  64.             JasperExportManager.exportReportToXmlFile(
  65.                 jasperPrint, reportDest2,true);
  66.            
  67.          // JasperViewer.viewReport(jasperPrint);
  68.          // JasperViewer.viewReport(jasperPrint1);
  69. }
  70. catch (JRException e)
  71.         {
  72.             e.printStackTrace();
  73.         }
  74.        
  75.         // Exception handling for the Class.forName method.
  76.         catch (ClassNotFoundException ex)
  77.         {
  78.             ex.printStackTrace();
  79.         }
  80.        
  81.         // Exception handling for the DriverManager.getConnection method.
  82.         catch (Exception ex)
  83.         {
  84.             ex.printStackTrace();
  85.         }
  86.     }
  87.  
  88. }
  89.  
  90.  
  91.  
  92. JRXML FILES
  93.  
  94.  
  95.  
  96. sampletab.jrxml
  97.  
  98.  
  99.  
  100. <?xml version="1.0"?>
  101. <!DOCTYPE jasperReport
  102.   PUBLIC "-//JasperReports//DTD Report Design//EN"
  103.   "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
  104.  
  105. <jasperReport name="HelloReportWorld">
  106.      <parameter name="reportTitle" class="java.lang.String"/>
  107.     <parameter name="author" class="java.lang.String"/>
  108.     <parameter name="startDate" class="java.lang.String"/>
  109.    
  110.      <queryString>
  111.         <![CDATA[SELECT * FROM SAMPLETAB]]>
  112.     </queryString>
  113.  
  114.    
  115.     <field name="NAME" class="java.lang.String"/>
  116.     <field name="FNAME" class="java.lang.String"/>
  117.    
  118.     <title>
  119.         <band height="60">
  120.             <textField>
  121.                 <reportElement x="0" y="10" width="500" height="40"/>
  122.                 <textElement textAlignment="Center">
  123.                     <font size="28"/>
  124.                 </textElement>
  125.                 <textFieldExpression class="java.lang.String">
  126.                     <![CDATA[$P{reportTitle}]]>
  127.                 </textFieldExpression>
  128.             </textField>
  129.             <textField>
  130.                 <reportElement x="0" y="40" width="500" height="20"/>
  131.                 <textElement textAlignment="Center"/>
  132.                 <textFieldExpression class="java.lang.String">
  133.                     <![CDATA["Run by: " + $P{author}
  134.                         + " on " + $P{startDate}]]>
  135.                 </textFieldExpression>
  136.             </textField>
  137.         </band>
  138.        
  139.        
  140.        
  141.        
  142.     </title>
  143.    
  144.      <columnHeader>
  145.         <band height="30">
  146.             <rectangle>
  147.                 <reportElement x="0" y="0" width="530" height="25"/>
  148.                 <graphicElement/>
  149.             </rectangle>
  150.             <staticText>
  151.                 <reportElement x="10" y="5" width="50" height="15"/>
  152.                 <textElement/>
  153.                 <text><![CDATA[NAME]]></text>
  154.             </staticText>
  155.             <staticText>
  156.                 <reportElement x="60" y="5" width="150" height="15"/>
  157.                 <text><![CDATA[FNAME]]></text>
  158.             </staticText>
  159.          
  160.            
  161.         </band>
  162.     </columnHeader>
  163.    
  164.    
  165.      <detail>
  166.         <band height="20">
  167.             <textField>
  168.                 <reportElement x="10" y="0" width="50" height="15"/>
  169.                 <textElement/>
  170.                 <textFieldExpression class="java.lang.String">
  171.                     <![CDATA[$F{NAME}]]>
  172.                 </textFieldExpression>
  173.             </textField>
  174.             <textField>
  175.                 <reportElement x="60" y="0" width="150" height="15"/>
  176.                 <textElement/>
  177.                 <textFieldExpression class="java.lang.String">
  178.                     <![CDATA[$F{FNAME}]]>
  179.                 </textFieldExpression>
  180.             </textField>                  
  181.            
  182.         </band>
  183.     </detail>
  184.    
  185. </jasperReport>
  186.  
  187. stdtab.jrxml
  188.  
  189. <?xml version="1.0"?>
  190. <!DOCTYPE jasperReport
  191.   PUBLIC "-//JasperReports//DTD Report Design//EN"
  192.   "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
  193.  
  194. <jasperReport name="HelloReportWorld">
  195.      <parameter name="reportTitle" class="java.lang.String"/>
  196.     <parameter name="author" class="java.lang.String"/>
  197.     <parameter name="startDate" class="java.lang.String"/>
  198.    
  199.      <queryString>
  200.         <![CDATA[SELECT * FROM STDTAB]]>
  201.     </queryString>
  202.  
  203.    
  204.     <field name="SNO" class="java.lang.Integer"/>
  205.     <field name="SNAME" class="java.lang.String"/>
  206.    
  207.     <title>
  208.         <band height="60">
  209.             <textField>
  210.                 <reportElement x="0" y="10" width="500" height="40"/>
  211.                 <textElement textAlignment="Center">
  212.                     <font size="28"/>
  213.                 </textElement>
  214.                 <textFieldExpression class="java.lang.String">
  215.                     <![CDATA[$P{reportTitle}]]>
  216.                 </textFieldExpression>
  217.             </textField>
  218.             <textField>
  219.                 <reportElement x="0" y="40" width="500" height="20"/>
  220.                 <textElement textAlignment="Center"/>
  221.                 <textFieldExpression class="java.lang.String">
  222.                     <![CDATA["Run by: " + $P{author}
  223.                         + " on " + $P{startDate}]]>
  224.                 </textFieldExpression>
  225.             </textField>
  226.         </band>                      
  227.        
  228.     </title>
  229.    
  230.      <columnHeader>
  231.         <band height="30">
  232.             <rectangle>
  233.                 <reportElement x="0" y="0" width="530" height="25"/>
  234.                 <graphicElement/>
  235.             </rectangle>
  236.             <staticText>
  237.                 <reportElement x="10" y="5" width="50" height="15"/>
  238.                 <textElement/>
  239.                 <text><![CDATA[SNO]]></text>
  240.             </staticText>
  241.             <staticText>
  242.                 <reportElement x="60" y="5" width="150" height="15"/>
  243.                 <text><![CDATA[SNAME]]></text>
  244.             </staticText>
  245.                      
  246.         </band>
  247.     </columnHeader>
  248.        
  249.      <detail>
  250.         <band height="20">
  251.             <textField>
  252.                 <reportElement x="10" y="0" width="50" height="15"/>
  253.                 <textElement/>
  254.                 <textFieldExpression class="java.lang.Integer">
  255.                     <![CDATA[$F{SNO}]]>
  256.                 </textFieldExpression>
  257.             </textField>
  258.             <textField>
  259.                 <reportElement x="60" y="0" width="150" height="15"/>
  260.                 <textElement/>
  261.                 <textFieldExpression class="java.lang.String">
  262.                     <![CDATA[$F{SNAME}]]>
  263.                 </textFieldExpression>
  264.             </textField>
  265.                      
  266.         </band>
  267.     </detail>
  268.    
  269. </jasperReport>
  270.  
Copyright GeekInterview.com


Next Article: Velocity Framework Application


 

Latest Code Samples

 

Popular Code Samples

 

Related Code Samples

 

Post Your Comment:

Members Please Login
Your Name:*
e-mail ID:(required for notification)*
Image Verification: 
 
 Subscribe    



Popular Coders

# Coder NameHits
1. srinivasaraobora130650
2. iamdvr97654
3. venki_madesh35132
4. Raju18461
5. parmod kumar duhan15745
6. Kiran.jakkaraju14045
7. chowsys7451
8. Venkateswara Rao6471
9. ashish.cns6346
10. Vamshidhar Matam5425

Active Coders

Refined Tags