jasperreports+ireport生成打印文件

上传人:第*** 文档编号:31073865 上传时间:2018-02-04 格式:DOC 页数:19 大小:1.46MB
返回 下载 相关 举报
jasperreports+ireport生成打印文件_第1页
第1页 / 共19页
jasperreports+ireport生成打印文件_第2页
第2页 / 共19页
jasperreports+ireport生成打印文件_第3页
第3页 / 共19页
jasperreports+ireport生成打印文件_第4页
第4页 / 共19页
jasperreports+ireport生成打印文件_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《jasperreports+ireport生成打印文件》由会员分享,可在线阅读,更多相关《jasperreports+ireport生成打印文件(19页珍藏版)》请在金锄头文库上搜索。

1、相关网址JasperReport 下载地址:http:/IReport 下载地址: http:/ iText 亚洲语言包下载地址:http:/ API 帮助:http:/ 数据库连接设置数据连接设置支持的数据库驱动类型.注意:iReport 默认只支持 mysql 和 odbc 数据源 .如果想使用其他类型数据源,请自行下载驱动 jar 包,放下 iReport 安装目录下的 lib 文件夹内,重启 iReport,添加驱动生效 .这里使用 oracle 瘦客户驱动,需自己添加 jar 包.都添好以后,点击测试一下连接是否可用.弹出测试成功!测试连接没有问题以后,保存并退出连接设置.iRepo

2、rt 连接数据库报表查询(1) 新建报表(2) 输入 sql 文,检出字段.输入 SQL 文以后,下面列出所检索的字段名字及类型.点击 OK,检索出的字段显示到这里了.(3) 拖拽需要迭代显示的字段到 detail 区域(4) 为了使报表更美观,将报表做简单修饰分别将不必要的显示区域的高度设置为 0设置好以后点击Apply,使应用生效。(5) 其他区哉如法炮制,最后留下 detail 区域,通过鼠标拖曳标记为红线的边框线,以适应文本区域的高度(6) 对齐按钮使用为了确保精确度,选择所有文本框,点击这个按钮,将文本框的纵向填满 detail 区域.(7) 添加列名及标题点击静态文本域按钮,在需要

3、的显示域中通过拖曳即可画出文本框(8) 预览一切调整合适后,点击这个按钮,进行连接数据库的预览预览效果(9) 选择预览格式(html,xls,pdf)iReport 默认使用 JR Viewer 展示预览效果,我们还可以使用 html,xls,pdf 及其他形式显示预览效果选择好以后点击应用,然后保存选择所使用的预览器再次点击这个预览按钮程序例子/ html 导出public void testReport1()/ 加载.jasper 文件File jasperRile = new File(C:/jasper/TestReport1.jasper);try/ 构造 JasperReport

4、文件JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperRile.getPath();/ 用数据填充 JasperReport 文件JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, getSimpleDao().getHibernateSession().connection(); / 声明 HTML 类型的导出类JRHtmlExporter exporter = new JRHtmlExporter();/ 设

5、置导出 JASPER_PRINTexporter.setParameter(JRHtmlExporterParameter.JASPER_PRINT, jasperPrint);/ 设置导出流exporter.setParameter(JRHtmlExporterParameter.OUTPUT_WRITER, response.getWriter();/ 设置 IS_USING_IMAGES_TO_ALIGN 为 false,不显示图片exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean

6、.FALSE);/ 导出编码exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING, gb2312);/ 页面编码response.setCharacterEncoding(gb2312);/ 导出exporter.exportReport();catch(Exception e)e.printStackTrace();/ excel 导出public void testReport1()/ 加载.jasper 文件File jasperRile = new File(ServletActionContext.getSe

7、rvletContext().getRealPath(/jasper/TestReport1.jasper);try/ 构造 JasperReport 文件JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperRile.getPath();/ 用数据填充 JasperReport 文件JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, getSimpleDao().getHibernateSession().conn

8、ection();/ 声明导出对像JRXlsExporter exporter = new JRXlsExporter();/ 设置导出哪个模板exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);/ 设置导出流exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, response.getOutputStream();/ 设置 Xls 的属性 exporter.setParameter(JRXlsExporterParameter.IS_O

9、NE_PAGE_PER_SHEET, Boolean.FALSE); exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE); / 告诉浏览器是导出操 EXCEL 文件操作response.setHeader(Content-Disposition, attachment; filename=cyjgcyb.xls);response.setContentType(application/vnd.ms-excel);exporter.exportReport();catch(Ex

10、ception e)e.printStackTrace();/ pdf 导出public void testReport1()/ 加载.jasper 文件File jasperRile = new File(ServletActionContext.getServletContext().getRealPath(/jasper/TestReport1.jasper);try/ 构造 JasperReport 文件JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperRile.getPath();/ 用数据填充 J

11、asperReport 文件JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, getSimpleDao().getHibernateSession().connection();/ pdf 导出设置response.setContentType(application/pdf); response.setCharacterEncoding(UTF-8); / 使用 JRPdfExproter 导出器导出 pdf JRPdfExporter exporter = new JRPdfExporter

12、(); / 设置 JasperPrintList exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint); / 设置导出流exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, response.getOutputStream();/ 开始导出exporter.exportReport(); catch(Exception e)e.printStackTrace();/ 用数据库public void subreportTransDatasou

13、rce()/ 声明指向父报表 subReport_3_main 绝对路径的字符串String jasperFile = ServletActionContext.getServletContext().getRealPath(/jasper/subReport_3_main.jasper);/ 声明指向报表根目录的字符串,主报表需要通过这个路径找到子报表String jasperRoot = ServletActionContext.getServletContext().getRealPath(/jasper)+;/ 声明向父报表传递参数的 mapMap parameterMap = new

14、 HashMap();try/ 构造 JasperReport 文件JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperFile);/ left subreport/ 检索子报表 subReport_3_left.jasper 的数据源String strSql = select ny,count(jkcyl) AS jkcyl from kfsj where ny LIKE 2007% GROUP BY ny;List listIncludeObjects = getSimpleDao().findBySQL

15、(strSql); List listIncludeBeans = reconstructList_chartTest(listIncludeObjects);JRBeanCollectionDataSource datasource = new JRBeanCollectionDataSource(listIncludeBeans);/ 设置子报表所在的路径parameterMap.put(SUBREPORT_DIR, jasperRoot);/ 设置 DatasourceForLeftSubreport 参数,这个参数将作为子报表的数据源被传递parameterMap.put(DatasourceForLeftSubreport, datasource);/ right subreport/ 检索子报表 subReport_3_right.jasper 的数据源strSql = select ny,count(jkcyl) AS jkcyl from kfsj where ny LIKE

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号