Example:-
/* Datewise Report
*
*/
package Package;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.sql.*;
import javax.swing.JDialog;
import javax.swing.ProgressMonitor;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.event.*;
import java.awt.event.*;
import net.sf.jasperreports.engine.JRExporterParameter;
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.engine.design.JasperDesign;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.export.JRXlsExporterParameter;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;
class Datevicereport extends JDialog {
private boolean isExitOnClose = false;
ProgressMonitor conso;
int counter = 0;
Datevicereport() {
setTitle("Datewise Report");
Report();
this.dispose();
}
public void Report() {
try {
/*
* String jdbcString="jdbc:mysql://"; InetAddress address=null;
* address = InetAddress.getLocalHost(); String Ipaddr =
* address.getHostAddress(); String databaseName =
* jdbcString.concat(Ipaddr).concat("/SinglePhase");
*/
String databaseName = "jdbc:mysql://localhost/singlephase";
String userName = "root";
String password = "";
String reportFile = "DateReport.jrxml";
runReport(databaseName, userName, password, reportFile);
} catch (Exception e) {
}
}
public Connection connectDB(String databaseName, String userName,
String password) {
Connection jdbcConnection = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
jdbcConnection = DriverManager.getConnection(databaseName,
userName, password);
} catch (Exception ex) {
String connectMsg = "Could not connect to the database: "
+ ex.getMessage() + " " + ex.getLocalizedMessage();
System.out.println(connectMsg);
}
return jdbcConnection;
}
public void runReport(String databaseName, String userName,
String password, String reportFile) {
try {
JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
JasperReport jasperReport = JasperCompileManager
.compileReport(jasperDesign);
Connection jdbcConnection = connectDB(databaseName, userName,
password);
JasperPrint jasperPrint = JasperFillManager.fillReport(
jasperReport, null, jdbcConnection);
JasperViewer.viewReport(jasperPrint, isExitOnClose);
OutputStream ouputStream = new FileOutputStream(new File("C:/catalog.xls"));
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
JRXlsExporter exporterXLS = new JRXlsExporter();
exporterXLS.setParameter(JRXlsExporterParameter.JASPER_PRINT,jasperPrint);
exporterXLS.setParameter(JRXlsExporterParameter.OUTPUT_STREAM,byteArrayOutputStream);
exporterXLS.exportReport();
ouputStream.write(byteArrayOutputStream.toByteArray()); ouputStream.flush();ouputStream.close();
exporterXLS.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_AUTO_DETECT_CELL_TYPE, Boolean.TRUE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporterXLS.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporterXLS.exportReport();
}
catch(Exception ex)
{
String connectMsg = "Could not create the report "
+ ex.getMessage() + " " + ex.getLocalizedMessage();
System.out.println(connectMsg);
}
}
}
Download link:-
http://jasperforge.org/plugins/project/project_home.php?projectname=ireport
