[Report] - Jasper Report & Oracle BI Publisher
1. Require
IReport tool: https://community.jaspersoft.com/project/ireport-designer
JDK 1.7: https://www.oracle.com/java/technologies/javase/javase7-archive-downloads.html
If your PC has already installed many JDK, we can addressed the JDK on IReport Config:
1. Go to C:\Program Files (x86)\Jaspersoft\iReport-5.6.0\etc\ireport.conf
2. Edit this file:
jdkhome="C:/Program Files/Java/jdk1.7.0_80"
2. Ant compile Jaser Report
Ref: http://jasperreports.sourceforge.net/sample.reference/antcompile/index.html
<target name="compile1">
<mkdir dir="./build/reports"/>
<jrc
srcdir="./reports"
destdir="./build/reports"
tempdir="./build/reports"
keepjava="true"
xmlvalidation="true">
<classpath refid="runClasspath"/>
<include name="**/*.jrxml"/>
</jrc>
</target> <target name="compile2">
<mkdir dir="./build/reports"/>
<jrc
destdir="./build/reports"
tempdir="./build/reports"
keepjava="true"
xmlvalidation="true">
<src>
<fileset dir="./reports">
<include name="**/*.jrxml"/>
</fileset>
</src>
<classpath refid="runClasspath"/>
</jrc>
</target> 3. Jasper Report Java Code
Export Excel Report
/**
* Export to Excel files.
* @param response
* @throws IOException
* @throws JRException
*/
public void exportReportToExcel(HttpServletRequest request, HttpServletResponse response) throws IOException, JRException {
JasperPrint jasperPrint = print();
String fileName = getExportFileName(types[1]);
response.setContentType("application/vnd.ms-excel; charset=" + Constant.ENCODING);
response.setHeader("Content-Disposition","attachment;filename=" + fileName);
final OutputStream outputStream = response.getOutputStream();
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
exporter.exportReport();
}Export HTML Report
/**
* Export to HTML files.
* @param response
* @throws IOException
* @throws JRException
*/
public void exportReportToHTML(HttpServletRequest request, HttpServletResponse response) throws IOException, JRException {
JasperPrint jasperPrint = print();
response.setContentType("text/html");
response.setHeader("Content-disposition", "inline");
PrintWriter out = response.getWriter();
JRHtmlExporter exporter = new JRHtmlExporter();
request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_LIST_SESSION_ATTRIBUTE, jasperPrint);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "/resources/ireport/html_files/");
exporter.exportReport();
}Note: With HTML to view on the web browser, you should have "px" file from IReport. You can found this file in "html_files/px" after compiling your report in IReport Tool.
Export PDF Report
/**
* Export to PDF files.
* @param response
* @throws IOException
* @throws JRException
*/
public void exportReportToPDF(HttpServletResponse response) throws IOException, JRException {
String fileName = getExportFileName(types[0]);
JasperPrint jasperPrint = print();
response.setContentType("application/x-pdf");
response.setHeader("Content-disposition", "inline; filename=" + fileName);
final OutputStream outputStream = response.getOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint, outputStream);
}4. Jasper Report - Javascript
Download Report by AJAX
function downloadFile(urlToSend) {
var req = new XMLHttpRequest();
req.open("GET", urlToSend, true);
req.responseType = "blob";
req.onload = function (event) {
var blob = req.response;
var fileName = req.getResponseHeader("Header attribute") //if you have the fileName header available
var link=document.createElement('a');
link.href=window.URL.createObjectURL(blob);
link.download=fileName;
link.click();
};
req.send();
}=======================================================================
is updating....
Home


Comments[ 0 ]
Post a Comment