Package com.report1;
Import Java.io.File;
Import Java.io.FileInputStream;
Import java.io.FileNotFoundException;
Import Java.io.InputStream;
Import java.sql.Connection;
Import Java.sql.DriverManager;
Import Java.util.HashMap;
Import Javax.servlet.http.HttpServletRequest;
Import Javax.servlet.http.HttpServletResponse;
Import Net.sf.jasperreports.engine.JREmptyDataSource;
Import net.sf.jasperreports.engine.JRException;
Import Net.sf.jasperreports.engine.JRExporterParameter;
Import Net.sf.jasperreports.engine.JasperCompileManager;
Import Net.sf.jasperreports.engine.JasperFillManager;
Import Net.sf.jasperreports.engine.JasperPrint;
Import Net.sf.jasperreports.engine.JasperReport;
Import Net.sf.jasperreports.engine.export.JRHtmlExporter;
Import Net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
Import Net.sf.jasperreports.engine.export.JRPdfExporter;
Import Net.sf.jasperreports.engine.export.JRXlsExporter;
Import Net.sf.jasperreports.engine.export.JRXlsExporterParameter;
Import Net.sf.jasperreports.engine.util.JRLoader;
Function: Test report generation Pdf,html,excel three kinds of files form
public Class Report
{
Public String Execute (httpservletrequest request, httpservletresponse response) throws Exception
{
String dispatch = Request.getparameter ("dispatch");
if (Dispatch.equals ("PDF"))
{
Pdfaction (request, response);
}
else if (dispatch.equals ("html"))
{
Htmlaction (request, response);
}
else if (dispatch.equals ("Excel"))
{
Excelaction (request, response);
}
else if (dispatch.equals ("Jfreechart"))
{
Jfreechartaction (request, response);
}
Else
{
System.out.println ("Do nothing!");
}
return null;
}
Generate a report in the form of a PDF file
private void Pdfaction (HttpServletRequest request, httpservletresponse response) throws Exception
{
File Jasperfile = new file (Request.getsession (). Getservletcontext (). Getrealpath ("/jaspers/demo1.jasper"));
Jasperreport Jasperreport = (jasperreport) jrloader.loadobject (jasperfile);
File DestFile = new file (jasperfile.getparent () + "\\demo1.pdf");//path to generate PDF file
Jasperprint jasperprint = Jasperfillmanager.fillreport (Jasperreport, New HashMap (), getconnection ());// Jasperprint object generated according to Jasper file
Exportpdf (Jasperprint, destfile);
Response.sendredirect ("Jaspers/demo1.pdf");
}
Generate a report in the form of an HTML file
private void Htmlaction (HttpServletRequest request, httpservletresponse response) throws Exception
{
File Jasperfile = new file (Request.getsession (). Getservletcontext (). Getrealpath ("/jaspers/demo1.jasper"));
Jasperreport Jasperreport = (jasperreport) jrloader.loadobject (jasperfile);
File DestFile = new file (jasperfile.getparent () + "\\demo1.html");
Jasperprint jasperprint = Jasperfillmanager.fillreport (Jasperreport, New HashMap (), getconnection ());
Exporthtml (Jasperprint, destfile);
Response.sendredirect ("jaspers/demo1.html");
}
Generate a report in the form of an Excel file
private void Excelaction (HttpServletRequest request, httpservletresponse response) throws Exception
{
File Jasperfile = new file (Request.getsession (). Getservletcontext (). Getrealpath ("/jaspers/demo1.jasper"));
Jasperreport Jasperreport = (jasperreport) jrloader.loadobject (jasperfile);
File DestFile = new file (jasperfile.getparent () + "\\demo1.xls");
Jasperprint jasperprint = Jasperfillmanager.fillreport (Jasperreport, New HashMap (), getconnection ());
Exportexcel (Jasperprint, destfile);
Response.sendredirect ("Jaspers/demo1.xls");
}
Generate a report in the form of a Jfreechart file
private void Jfreechartaction (HttpServletRequest request, httpservletresponse response) throws Exception
{
File Jrxmlfile = new file (Request.getsession (). Getservletcontext (). Getrealpath ("/jaspers/jfreechartreport.jrxml")) ;
File DestFile = new file (jrxmlfile.getparent () + "\\JFreeChartReport.html");
Try
{
Jasperreport Jasperreport = Compilejrxml (jrxmlfile);//compile Jrxml file
hashmap<string, string> parameters = new hashmap<string, string> ();//Parameters passed in
Parameters.put ("Reporttitle", "Laoshulin");
Jasperprint jasperprint = Jasperfillmanager.fillreport (jasperreport, parameters, New Jremptydatasource ());// Data fill for report print objects
Exporthtml (Jasperprint, destfile); Output in HTML file format
Response.sendredirect ("jaspers/jfreechartreport.html");
}
catch (Exception e)
{
E.printstacktrace ();
}
}
Generate reports of Excel file types
private void Exportexcel (Jasperprint jasperprint, File outfile)
{
Jrxlsexporter xlsexporter = new Jrxlsexporter ();
Xlsexporter.setparameter (Jrexporterparameter.jasper_print, jasperprint);//define Jasperprint Object
Xlsexporter.setparameter (Jrexporterparameter.output_file, outfile);//define the path to save the PDF file
Xlsexporter.setparameter (Jrxlsexporterparameter.is_remove_empty_space_between_rows, Boolean.TRUE); Delete the blank line at the bottom of the record
Xlsexporter.setparameter (Jrxlsexporterparameter.is_one_page_per_sheet, boolean.false);//delete excess ColumnHeader
Xlsexporter.setparameter (Jrxlsexporterparameter.is_white_page_background, boolean.false);//Display border
Try
{
Xlsexporter.exportreport ();
}
catch (Jrexception e)
{
E.printstacktrace ();
}
}
Generate a report of the PDF file type
private void Exportpdf (Jasperprint jasperprint, File outfile)
{
Jrpdfexporter pdfexporter = new Jrpdfexporter ();
Pdfexporter.setparameter (Jrexporterparameter.jasper_print, jasperprint); Defining Jasperprint Objects
Pdfexporter.setparameter (Jrexporterparameter.output_file, outfile); Define the path where the PDF file is saved
Try
{
Pdfexporter.exportreport ();
}
catch (Jrexception e)
{
E.printstacktrace ();
}
}
Generate a report of the HTML file type
private void exporthtml (Jasperprint jasperprint, File outfile)
{
Jrhtmlexporter htmlexporter = new Jrhtmlexporter ();
Htmlexporter.setparameter (Jrexporterparameter.jasper_print, jasperprint); Defining Jasperprint Objects
Htmlexporter.setparameter (Jrexporterparameter.output_file, outfile); Define the path where the HTML file is saved
Htmlexporter.setparameter (Jrhtmlexporterparameter.is_using_images_to_align, boolean.false);//output engine is corrected with small picture
Htmlexporter.setparameter (Jrhtmlexporterparameter.is_output_images_to_dir, boolean.false);//whether to output pictures to the hard disk
Try
{
Htmlexporter.exportreport ();
}
catch (Jrexception e)
{
E.printstacktrace ();
}
}
Compiling jrxml into a jasper file
Private Jasperreport Compilejrxml (File jrxmlfile)
{
InputStream in = null;
Jasperreport jasperreport = null;
Try
{
in = new FileInputStream (jrxmlfile);
Jasperreport = Jaspercompilemanager.compilereport (in); Compiling into a Jasper file
}
catch (FileNotFoundException e)
{
E.printstacktrace ();
}
catch (Jrexception e)
{
E.printstacktrace ();
}
return jasperreport;
}
Get a connection to a database
Private Connection getconnection ()
{
Connection conn = null;
Try
{
Class.forName ("Org.postgresql.Driver");
conn = Drivermanager.getconnection ("Jdbc:postgresql://127.0.0.1:5432/netview", "Postgres", "system");
}
catch (Exception e)
{
E.printstacktrace ();
}
Return conn;
}
}
Package com.report1;
Import Java.io.File;
Import java.sql.Connection;
Import Java.util.HashMap;
Import net.sf.jasperreports.engine.JRException;
Import Net.sf.jasperreports.engine.JRExporterParameter;
Import Net.sf.jasperreports.engine.JasperFillManager;
Import Net.sf.jasperreports.engine.JasperPrint;
Import Net.sf.jasperreports.engine.JasperReport;
Import Net.sf.jasperreports.engine.export.JRPdfExporter;
Import Net.sf.jasperreports.engine.util.JRLoader;
public class Reporttest {
public static final String Inpath = "d:\\test\\report\\";
public static final String Outpath = "d:\\test\\report\\";
public void Testpdf () {
try {
File Jasperfile = new file (inpath+ "Demo1.jasper");
Jasperreport Jasperreport = (jasperreport) jrloader.loadobject (jasperfile);
File DestFile = new file (Outpath + "\\demo1.pdf");//path to generate PDF file
Connection Connection = null;
Jasperprint Jasperprint;
Jasperprint = Jasperfillmanager.fillreport (Jasperreport, New HashMap (), connection);
Jrpdfexporter pdfexporter = new Jrpdfexporter ();
Pdfexporter.setparameter (Jrexporterparameter.jasper_print, jasperprint); Defining Jasperprint Objects
Pdfexporter.setparameter (Jrexporterparameter.output_file, destfile); Define the path where the PDF file is saved
Try
{
Pdfexporter.exportreport ();
}
catch (Jrexception e)
{
E.printstacktrace ();
}
}
catch (Jrexception E1) {
TODO auto-generated Catch block
E1.printstacktrace ();
}//Jasper File Generation Jasperprint Object
}
public static void Main (string[] args) {
Reporttest test = new Reporttest ();
Test.testpdf ();
}
}