Class JasperReportsUtils
- java.lang.Object
- org.springframework.ui.jasperreports.JasperReportsUtils
public abstract class JasperReportsUtils extends Object
Utility methods for working with JasperReports. Provides a set of convenience methods for generating reports in a CSV, HTML, PDF and XLS formats.This class is compatible with classic JasperReports releases back until 2.x. As a consequence, it keeps using the
JRExporter
API which has been deprecated in early 2014.- Since:
- 1.1.3
- Author:
- Rob Harrop, Juergen Hoeller
Constructor Summary
Constructors Constructor Description JasperReportsUtils()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static net.sf.jasperreports.engine.JRDataSource
convertReportData(Object value)
Convert the given report data value to aJRDataSource
.static void
render(net.sf.jasperreports.engine.JRExporter exporter, net.sf.jasperreports.engine.JasperPrint print, OutputStream outputStream)
Render the suppliedJasperPrint
instance using the suppliedJRAbstractExporter
instance and write the results to the suppliedOutputStream
.static void
render(net.sf.jasperreports.engine.JRExporter exporter, net.sf.jasperreports.engine.JasperPrint print, Writer writer)
Render the suppliedJasperPrint
instance using the suppliedJRAbstractExporter
instance and write the results to the suppliedWriter
.static void
renderAsCsv(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer)
Render a report in CSV format using the supplied report data.static void
renderAsCsv(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters)
Render a report in CSV format using the supplied report data.static void
renderAsHtml(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer)
Render a report in HTML format using the supplied report data.static void
renderAsHtml(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters)
Render a report in HTML format using the supplied report data.static void
renderAsPdf(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream)
Render a report in PDF format using the supplied report data.static void
renderAsPdf(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters)
Render a report in PDF format using the supplied report data.static void
renderAsXls(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream)
Render a report in XLS format using the supplied report data.static void
renderAsXls(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters)
Render a report in XLS format using the supplied report data.
Constructor Detail
JasperReportsUtils
public JasperReportsUtils()
Method Detail
convertReportData
public static net.sf.jasperreports.engine.JRDataSource convertReportData(Object value) throws IllegalArgumentException
Convert the given report data value to aJRDataSource
.In the default implementation, a
JRDataSource
,java.util.Collection
or object array is detected. The latter are converted toJRBeanCollectionDataSource
orJRBeanArrayDataSource
, respectively.- Parameters:
value
- the report data value to convert- Returns:
- the JRDataSource (never
null
) - Throws:
IllegalArgumentException
- if the value could not be converted- See Also:
JRDataSource
,JRBeanCollectionDataSource
,JRBeanArrayDataSource
render
public static void render(net.sf.jasperreports.engine.JRExporter exporter, net.sf.jasperreports.engine.JasperPrint print, Writer writer) throws net.sf.jasperreports.engine.JRException
Render the suppliedJasperPrint
instance using the suppliedJRAbstractExporter
instance and write the results to the suppliedWriter
.Make sure that the
JRAbstractExporter
implementation you supply is capable of writing to aWriter
.- Parameters:
exporter
- theJRAbstractExporter
to use to render the reportprint
- theJasperPrint
instance to renderwriter
- theWriter
to write the result to- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed
render
public static void render(net.sf.jasperreports.engine.JRExporter exporter, net.sf.jasperreports.engine.JasperPrint print, OutputStream outputStream) throws net.sf.jasperreports.engine.JRException
Render the suppliedJasperPrint
instance using the suppliedJRAbstractExporter
instance and write the results to the suppliedOutputStream
.Make sure that the
JRAbstractExporter
implementation you supply is capable of writing to aOutputStream
.- Parameters:
exporter
- theJRAbstractExporter
to use to render the reportprint
- theJasperPrint
instance to renderoutputStream
- theOutputStream
to write the result to- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed
renderAsCsv
public static void renderAsCsv(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer) throws net.sf.jasperreports.engine.JRException
Render a report in CSV format using the supplied report data. Writes the results to the suppliedWriter
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingwriter
- theWriter
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields from- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)
renderAsCsv
public static void renderAsCsv(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters) throws net.sf.jasperreports.engine.JRException
Render a report in CSV format using the supplied report data. Writes the results to the suppliedWriter
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingwriter
- theWriter
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields fromexporterParameters
- aMap
ofJRExporterParameter exporter parameters
- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)
renderAsHtml
public static void renderAsHtml(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer) throws net.sf.jasperreports.engine.JRException
Render a report in HTML format using the supplied report data. Writes the results to the suppliedWriter
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingwriter
- theWriter
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields from- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)
renderAsHtml
public static void renderAsHtml(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, Writer writer, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters) throws net.sf.jasperreports.engine.JRException
Render a report in HTML format using the supplied report data. Writes the results to the suppliedWriter
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingwriter
- theWriter
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields fromexporterParameters
- aMap
ofJRExporterParameter exporter parameters
- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)
renderAsPdf
public static void renderAsPdf(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream) throws net.sf.jasperreports.engine.JRException
Render a report in PDF format using the supplied report data. Writes the results to the suppliedOutputStream
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingstream
- theOutputStream
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields from- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)
renderAsPdf
public static void renderAsPdf(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters) throws net.sf.jasperreports.engine.JRException
Render a report in PDF format using the supplied report data. Writes the results to the suppliedOutputStream
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingstream
- theOutputStream
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields fromexporterParameters
- aMap
ofJRExporterParameter exporter parameters
- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)
renderAsXls
public static void renderAsXls(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream) throws net.sf.jasperreports.engine.JRException
Render a report in XLS format using the supplied report data. Writes the results to the suppliedOutputStream
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingstream
- theOutputStream
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields from- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)
renderAsXls
public static void renderAsXls(net.sf.jasperreports.engine.JasperReport report, Map<String,Object> parameters, Object reportData, OutputStream stream, Map<net.sf.jasperreports.engine.JRExporterParameter,Object> exporterParameters) throws net.sf.jasperreports.engine.JRException
Render a report in XLS format using the supplied report data. Writes the results to the suppliedOutputStream
.- Parameters:
report
- theJasperReport
instance to renderparameters
- the parameters to use for renderingstream
- theOutputStream
to write the rendered report toreportData
- aJRDataSource
,java.util.Collection
or object array (converted accordingly), representing the report data to read fields fromexporterParameters
- aMap
ofJRExporterParameter exporter parameters
- Throws:
net.sf.jasperreports.engine.JRException
- if rendering failed- See Also:
convertReportData(java.lang.Object)