jasperReports+iReport生成打印文件.docx
《jasperReports+iReport生成打印文件.docx》由会员分享,可在线阅读,更多相关《jasperReports+iReport生成打印文件.docx(19页珍藏版)》请在冰豆网上搜索。
![jasperReports+iReport生成打印文件.docx](https://file1.bdocx.com/fileroot1/2023-1/9/69930489-6610-4026-a710-660ce59d6a9e/69930489-6610-4026-a710-660ce59d6a9e1.gif)
jasperReports+iReport生成打印文件
相关网址
JasperReport下载地址:
IReport下载地址:
iText亚洲语言包下载地址:
JasperReportsAPI帮助:
iReport数据库连接设置
数据连接设置
测试连接没有问题以后,保存并退出连接设置.
iReport连接数据库报表查询
(1)新建报表
(2)输入sql文,检出字段.
(3)拖拽需要迭代显示的字段到detail区域
(4)为了使报表更美观,将报表做简单修饰
(5)其他区哉如法炮制,最后留下detail区域,通过鼠标拖曳标记为红线的边框线,以适应文本区域的高度
(6)对齐按钮使用
(7)添加列名及标题
(8)预览
(9)选择预览格式(html,xls,pdf)
iReport默认使用JRViewer展示预览效果,我们还可以使用html,xls,pdf及其他形式显示预览效果
程序例子
//html导出
publicvoidtestReport1(){
//加载.jasper文件
FilejasperRile=newFile("C:
/jasper/TestReport1.jasper");
try{
//构造JasperReport文件
JasperReportjasperReport=(JasperReport)JRLoader.loadObject(jasperRile.getPath());
//用数据填充JasperReport文件
JasperPrintjasperPrint=JasperFillManager.fillReport(jasperReport,null,getSimpleDao().getHibernateSession().connection());
//声明HTML类型的导出类
JRHtmlExporterexporter=newJRHtmlExporter();
//设置导出JASPER_PRINT
exporter.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.FALSE);
//导出编码
exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING,"gb2312");
//页面编码
response.setCharacterEncoding("gb2312");
//导出
exporter.exportReport();
}catch(Exceptione){
e.printStackTrace();
}
}
//excel导出
publicvoidtestReport1(){
//加载.jasper文件
FilejasperRile=newFile(ServletActionContext.getServletContext().getRealPath("/jasper/TestReport1.jasper"));
try{
//构造JasperReport文件
JasperReportjasperReport=(JasperReport)JRLoader.loadObject(jasperRile.getPath());
//用数据填充JasperReport文件
JasperPrintjasperPrint=JasperFillManager.fillReport(jasperReport,null,getSimpleDao().getHibernateSession().connection());
//声明导出对像
JRXlsExporterexporter=newJRXlsExporter();
//设置导出哪个模板
exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT,jasperPrint);
//设置导出流
exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM,response.getOutputStream());
//设置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("application/vnd.ms-excel");
exporter.exportReport();
}catch(Exceptione){
e.printStackTrace();
}
}
//pdf导出
publicvoidtestReport1(){
//加载.jasper文件
FilejasperRile=newFile(ServletActionContext.getServletContext().getRealPath("/jasper/TestReport1.jasper"));
try{
//构造JasperReport文件
JasperReportjasperReport=(JasperReport)JRLoader.loadObject(jasperRile.getPath());
//用数据填充JasperReport文件
JasperPrintjasperPrint=JasperFillManager.fillReport(jasperReport,null,getSimpleDao().getHibernateSession().connection());
//pdf导出设置
response.setContentType("application/pdf");
response.setCharacterEncoding("UTF-8");
//使用JRPdfExproter导出器导出pdf
JRPdfExporterexporter=newJRPdfExporter();
//设置JasperPrintList
exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT,jasperPrint);
//设置导出流
exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM,response.getOutputStream());
//开始导出
exporter.exportReport();
}catch(Exceptione){
e.printStackTrace();
}
}
//用数据库
publicvoidsubreportTransDatasource(){
//声明指向父报表subReport_3_main绝对路径的字符串
StringjasperFile=ServletActionContext.getServletContext().getRealPath("/jasper/subReport_3_main.jasper");
//声明指向报表根目录的字符串,主报表需要通过这个路径找到子报表
StringjasperRoot=ServletActionContext.getServletContext().getRealPath("/jasper")+"\\";
//声明向父报表传递参数的map
MapparameterMap=newHashMap();
try{
//构造JasperReport文件
JasperReportjasperReport=(JasperReport)JRLoader.loadObject(jasperFile);
//leftsubreport
//检索子报表subReport_3_left.jasper的数据源
StringstrSql="selectny,count(jkcyl)ASjkcylfromkfsjwherenyLIKE'2007%'GROUPBYny";
ListlistIncludeObjects=getSimpleDao().findBySQL(strSql);
ListlistIncludeBeans=reconstructList_chartTest(listIncludeObjects);
JRBeanCollectionDataSourcedatasource=newJRBeanCollectionDataSource(listIncludeBeans);
//设置子报表所在的路径
parameterMap.put("SUBREPORT_DIR",jasperRoot);
//设置DatasourceForLeftSubreport参数,这个参数将作为子报表的数据源被传递
parameterMap.put("DatasourceForLeftSubreport",datasource);
//rightsubreport
//检索子报表subReport_3_right.jasper的数据源
strSql="selectny,count(jkcyl)ASjkcylfromkfsjwherenyLIKE'2008%'GROUPBYny";
listIncludeObjects=getSimpleDao().findBySQL(strSql);
listIncludeBeans=reconstructList_chartTest(listIncludeObjects);
JRBeanCollectionDataSourcedatasourceForRight=newJRBeanCollectionDataSource(listIncludeBeans);
//设置DatasourceForLeftSubreport参数,这个参数将作为子报表的数据源被传递
parameterMap.put("DatasourceForRightSubreport",datasourceForRight);
//用数据填充JasperReport文件
JasperPrintjasperPrint=JasperFillManager.fillReport(jasperReport,parameterMap);
//声明HTML类型的导出类
JRHtmlExporterexporter=newJRHtmlExporter();
//设置导出JASPER_PRINT
exporter.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.FALSE);
//导出编码
exporter.setParameter(JRHtmlExporterParameter.CHARACTER_ENCODING,"UTF-8");
//页面编码
response.setCharacterEncoding("UTF-8");
//导出
exporter.exportReport();
}catch(Exceptione){
e.printStackTrace();
}
}