晨魅--iReport2.0.4版入门使用教程

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
//导出PDF
function 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();
			}
		}






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值