博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
晨魅--iReport2.0.4版入门使用教程
阅读量:2392 次
发布时间:2019-05-10

本文共 3307 字,大约阅读时间需要 11 分钟。

Ireport的使用

Ireport的结构

Title 标题,在报表中只出现一次

Page Header 页头;Column header 列标题

Detail 放置用来循环的记录;Page footer 页脚;Summary 总结

常用按钮

 

1.线段,用来画线的

2.T,是静态文本框

3.F,是动态文本框,用来放变量

4.数据库,查看SQL语句,语句的where后面写成 1=$P!{ls_sql}(固定格式)

5.编译,编译后的文件默认在软件的安装目录下,Java项目里用编译文件。

6.执行报表,可以查看报表样式

左侧菜单结构

在parameters处右键选择ADD添加参数,点执行报表按钮时给参数赋值。

 

链接数据库

选择链接/资料来源

 

弹出下图,点击new

 

 

填写相应信息,如果没有要选择的数据库链接,可能是缺少相应的ojdbc jar

 

如下图,是我写的配置,连的是oracle数据库。

点击test按钮,测试链接是否成功,成功后点击save保存配置。

 

画报表的注意事项

选择文本框,右键,选择属性

 

出现如下图框,所有文本框都要选择宋体,勾选PDF,右侧选择

UniGB-UCS2-H (Chinese Simplified)

 

注意文本框的类型,bigdecimal数字型,String字符型。

 

右键,选择编辑

 

出现下图,蓝色变量名是错误的,双击变量下面的变量名,上面会出现绿色的变量名,是正确的。

 

如不注意以上事项,在开发时会不显示内容。

项目代码示例

jsp
//导出PDFfunction printpdf(){ 	var dw = "<%=dw%>";	var rq = "<%=rq%>";	var selected_id = $(".ck_qh_blue").attr("id");	var flag = selected_id.substring(selected_id.length-2);	window.open("/popnet/tgjtAction.do?tgjtMethod=printpdf&dwbh="+dw+"&rq="+rq+"&flag="+flag,"newwindow", "height=500, width=1024, top=0,left=0, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes,location=yes,status=yes");    return false;	}
action
/**	 * 特岗备案申报情况明汇总,导出PDF	 * @param mapping	 * @param form	 * @param request	 * @param response	 * @return	 */	public ActionForward printpdf(ActionMapping mapping, ActionForm form,			HttpServletRequest request, HttpServletResponse response){		String dwbh=(String)request.getParameter("dwbh");		String rq=(String)request.getParameter("rq");		String flag=(String)request.getParameter("flag");		TgmdConn tgmdModel = null;		try {			tgmdModel = new TgmdConn();			tgmdModel.print(request, response,dwbh,rq,flag);		} catch (SQLException e) {			e.printStackTrace();		} finally {			tgmdModel.close();		}		return mapping.findForward("");	}
model
/**		 * 特岗备案申报情况明汇总,导出PDF		 * @param request		 * @param response		 * @param sql		 * @param jasperUrl		 */		public void print(HttpServletRequest request,HttpServletResponse response,String dwbh,String rq,String flag){								Connection conn = new DBconn().getConnection();			String path = FileCom.getAppDiskPath();			String fileName = "jczxjthz.jasper";			if("mx".equals(flag)){				fileName = "yzxrmjczqgwjtba-mx.jasper";			}			String pathMainJasper = path + "popnet/tgjt/pdf/" + fileName;			Map parameters = new HashMap();			String sql = "1 and V_DWBH='"+dwbh+"' and V_ZZNY='"+rq+"'||'-01'";			parameters.put("ls_sql", sql);			JasperPrint jasperPrint;			try {				jasperPrint = JasperFillManager.fillReport(pathMainJasper,parameters, conn);				FileBufferedOutputStream fbos = new FileBufferedOutputStream();				JRPdfExporter exporter = new JRPdfExporter();				exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);				exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, fbos);				try {					exporter.exportReport();					if (fbos.size() > 0) {						response.setContentType("application/pdf");						response.setContentLength(fbos.size());						ServletOutputStream ouputStream = response								.getOutputStream();						try {							fbos.writeData(ouputStream);							fbos.dispose();							ouputStream.flush();						} finally {							ouputStream.close();						}					}				} catch (JRException e) {					throw new ServletException(e);				} finally {					fbos.close();					fbos.dispose();					conn.close();				}			} catch (Exception e) {				System.out.println("PDF打印错误!");				e.printStackTrace();			}		}
你可能感兴趣的文章
Linux网络资源
查看>>
Android对Kernel的改动汇总
查看>>
WGET 通过代理下载
查看>>
JITTER BUFFER
查看>>
IP协议报头学习笔记
查看>>
关于SIGPIPE导致的程序退出
查看>>
基于MTD的NAND驱动开发
查看>>
linux mtd源码分析(好东西)
查看>>
关于SIGBUS的总结
查看>>
JSP--9大隐式对象
查看>>
Servelt中主要对象的使用
查看>>
EL表达式的深刻认识
查看>>
JSP技术的学习总结
查看>>
JavaBean的初步认知
查看>>
重识java反射
查看>>
Spring的核心中IOC、DI
查看>>
Spring中注解的使用
查看>>
Spring的认识
查看>>
gitee的使用
查看>>
maven项目出现如下错误,求指点;CoreException: Could not calculate build plan:
查看>>