jasperReports+iReport生成打印文件Word文件下载.docx
《jasperReports+iReport生成打印文件Word文件下载.docx》由会员分享,可在线阅读,更多相关《jasperReports+iReport生成打印文件Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
(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("
//导出
exporter.exportReport();
}catch(Exceptione){
e.printStackTrace();
}
//excel导出
publicvoidtestReport1(){
FilejasperRile=newFile(ServletActionContext.getServletContext().getRealPath("
));
//声明导出对像
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"
//pdf导出
//pdf导出设置
application/pdf"
UTF-8"
//使用JRPdfExproter导出器导出pdf
JRPdfExporterexporter=newJRPdfExporter();
//设置JasperPrintList
exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT,jasperPrint);
exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM,response.getOutputStream());
//开始导出
//用数据库
publicvoidsubreportTransDatasource(){
//声明指向父报表subReport_3_main绝对路径的字符串
StringjasperFile=ServletActionContext.getServletContext().getRealPath("
/jasper/subReport_3_main.jasper"
//声明指向报表根目录的字符串,主报表需要通过这个路径找到子报表
StringjasperRoot=ServletActionContext.getServletContext().getRealPath("
/jasper"
)+"
\\"
;
//声明向父报表传递参数的map
Map<
String,Object>
parameterMap=newHashMap<
();
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参数,这个参数将作为子报表的数据源被传递
DatasourceForLeftSubreport"
datasource);
//rightsubreport
//检索子报表subReport_3_right.jasper的数据源
strSql="
2008%'
listIncludeObjects=getSimpleDao().findBySQL(strSql);
listIncludeBeans=reconstructList_chartTest(listIncludeObjects);
JRBeanCollectionDataSourcedatasourceForRight=newJRBeanCollectionDataSource(listIncludeBeans);
DatasourceForRightSubreport"
datasourceForRight);
JasperPrintjasperPrint=JasperFillManager.fillReport(jasperReport,parameterMap);