📄 reportgenerator.java
字号:
package ma.bmce.tools;
import java.io.File;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
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.export.JRHtmlExporter;
import net.sf.jasperreports.engine.export.JRPdfExporter;
import net.sf.jasperreports.engine.export.JRPdfExporterParameter;
import net.sf.jasperreports.engine.export.JRRtfExporter;
import net.sf.jasperreports.engine.export.JRXlsExporter;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
public class ReportGenerator
{
private Connection jdbcConnection;
private String format;
private Map parameters;
public ReportGenerator(Connection jdbcConnection, String format,Map parameters)
{
this.jdbcConnection = jdbcConnection;
this.format = format;
this.parameters = parameters;
}
public void showInBrowser(String reportPath, HttpServletResponse response)
{
JasperReport jasperReport;
JasperPrint jasperPrint;
try
{
jasperReport = JasperCompileManager.compileReport(reportPath);
jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,jdbcConnection);
byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint);
/***********************************************************************
* Pour afficher une bo顃e de dialogue pour enregistrer le fichier sous
* le nom contrat.pdf
**********************************************************************/
response.addHeader("Content-disposition",
"attachment;filename=contrat.pdf");
response.setContentLength(bytes.length);
response.getOutputStream().write(bytes);
response.setContentType("application/pdf");
}
catch(Exception ex)
{
String connectMsg = (new StringBuilder("Ne peut creer le stream du report")).append(ex.getMessage()).append(" ").append(ex.getLocalizedMessage()).toString();
System.out.println(connectMsg);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -