Main.java
import java.sql.DriverManager;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
public class Main {
public Main() {
}
public static void main
(String[] args
) {
// TODO code application logic here
String reportSource1
= "./templates/stdtab.jrxml";
String reportSource
= "./templates/sampletab.jrxml";
String reportDest
= "./report/reports1/MyProjReport.pdf";
String reportDest1
= "./report/reports2/SampleReport.html";
String reportDest2
= "./report/reports3/SampleReport.xml";
Map<String, Object> params = new HashMap<String, Object>();
params.put("reportTitle", "MY Project Reports");
params.put("author", "SRINIVAS");
params.
put("startDate",
(new java.
util.
Date()).
toString());
try
{
JasperReport jasperReport =
JasperCompileManager.compileReport(reportSource);
JasperReport jasperReport1 =
JasperCompileManager.compileReport(reportSource1);
// Make the driver class available.
Class.forName("oracle.jdbc.driver.OracleDriver");
// Create a connection to pass into the report.
"url", "username", "password");
// Replace the empty JR datasource parameter with
// the connection parameter named conn.
JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport, params, conn);
JasperPrint jasperPrint1 =
JasperFillManager.fillReport(
jasperReport1, params, conn);
JasperExportManager.exportReportToPdfFile(
jasperPrint, reportDest);
JasperExportManager.exportReportToHtmlFile(
jasperPrint1, reportDest1);
JasperExportManager.exportReportToXmlFile(
jasperPrint, reportDest2,true);
// JasperViewer.viewReport(jasperPrint);
// JasperViewer.viewReport(jasperPrint1);
}
catch (JRException e)
{
e.printStackTrace();
}
// Exception handling for the Class.forName method.
{
ex.printStackTrace();
}
// Exception handling for the DriverManager.getConnection method.
{
ex.printStackTrace();
}
}
}
JRXML FILES
sampletab.jrxml
<?xml version="1.0"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="HelloReportWorld">
<parameter name="reportTitle" class="java.lang.String"/>
<parameter name="author" class="java.lang.String"/>
<parameter name="startDate" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT * FROM SAMPLETAB]]>
</queryString>
<field name="NAME" class="java.lang.String"/>
<field name="FNAME" class="java.lang.String"/>
<title>
<band height="60">
<textField>
<reportElement x="0" y="10" width="500" height="40"/>
<textElement textAlignment="Center">
<font size="28"/>
</textElement>
<textFieldExpression class="java.lang.String">
<![CDATA[$P{reportTitle}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="40" width="500" height="20"/>
<textElement textAlignment="Center"/>
<textFieldExpression class="java.lang.String">
<![CDATA["Run by: " + $P{author}
+ " on " + $P{startDate}]]>
</textFieldExpression>
</textField>
</band>
</title>
<columnHeader>
<band height="30">
<rectangle>
<reportElement x="0" y="0" width="530" height="25"/>
<graphicElement/>
</rectangle>
<staticText>
<reportElement x="10" y="5" width="50" height="15"/>
<textElement/>
<text><![CDATA[NAME]]></text>
</staticText>
<staticText>
<reportElement x="60" y="5" width="150" height="15"/>
<text><![CDATA[FNAME]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20">
<textField>
<reportElement x="10" y="0" width="50" height="15"/>
<textElement/>
<textFieldExpression class="java.lang.String">
<![CDATA[$F{NAME}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="60" y="0" width="150" height="15"/>
<textElement/>
<textFieldExpression class="java.lang.String">
<![CDATA[$F{FNAME}]]>
</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
stdtab.jrxml
<?xml version="1.0"?>
<!DOCTYPE jasperReport
PUBLIC "-//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="HelloReportWorld">
<parameter name="reportTitle" class="java.lang.String"/>
<parameter name="author" class="java.lang.String"/>
<parameter name="startDate" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT * FROM STDTAB]]>
</queryString>
<field name="SNO" class="java.lang.Integer"/>
<field name="SNAME" class="java.lang.String"/>
<title>
<band height="60">
<textField>
<reportElement x="0" y="10" width="500" height="40"/>
<textElement textAlignment="Center">
<font size="28"/>
</textElement>
<textFieldExpression class="java.lang.String">
<![CDATA[$P{reportTitle}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="0" y="40" width="500" height="20"/>
<textElement textAlignment="Center"/>
<textFieldExpression class="java.lang.String">
<![CDATA["Run by: " + $P{author}
+ " on " + $P{startDate}]]>
</textFieldExpression>
</textField>
</band>
</title>
<columnHeader>
<band height="30">
<rectangle>
<reportElement x="0" y="0" width="530" height="25"/>
<graphicElement/>
</rectangle>
<staticText>
<reportElement x="10" y="5" width="50" height="15"/>
<textElement/>
<text><![CDATA[SNO]]></text>
</staticText>
<staticText>
<reportElement x="60" y="5" width="150" height="15"/>
<text><![CDATA[SNAME]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="20">
<textField>
<reportElement x="10" y="0" width="50" height="15"/>
<textElement/>
<textFieldExpression class="java.lang.Integer">
<![CDATA[$F{SNO}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="60" y="0" width="150" height="15"/>
<textElement/>
<textFieldExpression class="java.lang.String">
<![CDATA[$F{SNAME}]]>
</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>