1、(2) 输入sql文,检出字段.(3) 拖拽需要迭代显示的字段到detail区域(4) 为了使报表更美观,将报表做简单修饰(5) 其他区哉如法炮制,最后留下detail区域,通过鼠标拖曳标记为红线的边框线,以适应文本区域的高度(6) 对齐按钮使用(7) 添加列名及标题(8) 预览(9) 选择预览格式(html,xls,pdf)iReport默认使用JR Viewer展示预览效果,我们还可以使用html,xls,pdf及其他形式显示预览效果程序例子/ html导出public void testReport1() / 加载.jasper文件 File jasperRile = new File(
2、C:/jasper/TestReport1.jasper); try / 构造JasperReport 文件 JasperReport jasperReport = (JasperReport)JRLoader.loadObject(jasperRile.getPath(); / 用数据填充JasperReport文件 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, getSimpleDao().getHibernateSession().connection(); / 声明HTML类型的导出
3、类 JRHtmlExporter exporter = new JRHtmlExporter(); / 设置导出JASPER_PRINT exporter.setParameter(JRHtmlExporterParameter.JASPER_PRINT, jasperPrint); / 设置导出流 exporter.setParameter(JRHtmlExporterParameter.OUTPUT_WRITER, response.getWriter(); / 设置IS_USING_IMAGES_TO_ALIGN为false,不显示图片 exporter.setParameter(JRH
4、tmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE); / 导出编码 exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING, gb2312 / 页面编码 response.setCharacterEncoding( / 导出 exporter.exportReport(); catch(Exception e) e.printStackTrace(); / excel导出 public void testReport1() File jasperRi
5、le = new File(ServletActionContext.getServletContext().getRealPath(); / 声明导出对像 JRXlsExporter exporter = new JRXlsExporter(); / 设置导出哪个模板 exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, response.getOutputStream(); / 设
6、置Xls的属性 exporter.setParameter(JRXlsExporterParameter.IS_ONE_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(app
7、lication/vnd.ms-excel / pdf导出 / pdf导出设置application/pdfUTF-8 / 使用JRPdfExproter导出器导出pdf JRPdfExporter exporter = new JRPdfExporter(); / 设置JasperPrintList exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, response.getOut
8、putStream(); / 开始导出/ 用数据库public void subreportTransDatasource() / 声明指向父报表subReport_3_main绝对路径的字符串 String jasperFile = ServletActionContext.getServletContext().getRealPath(/jasper/subReport_3_main.jasper / 声明指向报表根目录的字符串,主报表需要通过这个路径找到子报表 String jasperRoot = ServletActionContext.getServletContext().get
9、RealPath(/jasper)+; / 声明向父报表传递参数的map Map parameterMap = new HashMap(); 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 listInc
10、ludeObjects = getSimpleDao().findBySQL(strSql); List listIncludeBeans = reconstructList_chartTest(listIncludeObjects); JRBeanCollectionDataSource datasource = new JRBeanCollectionDataSource(listIncludeBeans); / 设置子报表所在的路径 parameterMap.put(SUBREPORT_DIR, jasperRoot); / 设置DatasourceForLeftSubreport参数,
11、这个参数将作为子报表的数据源被传递DatasourceForLeftSubreport, datasource); / right subreport / 检索子报表subReport_3_right.jasper的数据源 strSql = 2008% listIncludeObjects = getSimpleDao().findBySQL(strSql); listIncludeBeans = reconstructList_chartTest(listIncludeObjects); JRBeanCollectionDataSource datasourceForRight = new JRBeanCollectionDataSource(listIncludeBeans);DatasourceForRightSubreport, datasourceForRight); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1