jsp页面嵌入ireport报表

[size=medium]以下方法生成报表数据([color=red]reportContent[/color]),也就是html中table代码,我们可以在servlet中调用以下方法生成报表数据,存到request域中,转发到jsp页面,显示报表数据。另外这个方法将jasperPrint对象存到了session中,这样导出Excel、Pdf时可以拿到这个对象,调用导出相关方法进行操作。[/size]

private String generateReport(Map<String, Object> parameters, File reportFile, Connection connection, JRDataSource dataSource) {
try {
StringBuffer reportContent = new StringBuffer();
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());
JasperPrint jasperPrint = null;

if (connection != null) {
jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
} else {
jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);
}
request.getSession().setAttribute("jasperPrint", jasperPrint);
JRHtmlExporter exporter = new JRHtmlExporter();

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STRING_BUFFER, reportContent);
exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER, Boolean.TRUE);

exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING, "utf-8");
exporter.setParameter(JRHtmlExporterParameter.HTML_HEADER, "");
exporter.setParameter(JRHtmlExporterParameter.BETWEEN_PAGES_HTML, "");
exporter.setParameter(JRHtmlExporterParameter.HTML_FOOTER, "");

exporter.exportReport();

return reportContent;
} catch(Exception e) {
throw new RuntimeException(e);
} finally {
if (connection != null) {
DBManager.relaseConnection(connection, null, null);
}
}
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值