1、iReport使用配置说明书使用iReport配置说明书1准备1.1安装JDK 1.5或1.6版本。1.2安装iReport软件。安装iReport 3.6.0版本,采用默认安装2配置2.1中文配置工具选项,选择Classpath选项卡。将iText-2.1.0.jar, iTextAsian.jar, fonts.jar三个jar包复制到iReport的安装路径下(例如:c:Program FilesJasperSoftiReport-nb-3.6.0ireportmodulesext)。点击Classpath选项卡中的【Add JAR】按钮,将上述路径下刚复制进去的三个jar包导入。最后点
2、击【Add Folder】按钮,将系统中Fonts文件夹导入。点击【确定】按钮,完成中文字体的配置。2.2编译路径配置。2.3连接Oracle数据库配置添加Oracle数据库驱动工具选项,选择Classpath选项卡。将classes12.jar复制到iReport的安装路径下(例如:c:Program FilesJasperSoftiReport-nb-3.6.0ireportmodulesext);点击Classpath选项卡中的【Add JAR】按钮,将上述路径下刚复制进去的jar包导入;点击【确定】按钮,完成oracle数据库驱动的导入。配置数据库连接点击iReport界面的【Repo
3、rt Datasources】按钮(如下图,如果没有此按钮,选中视图工具栏Designer选项,该按钮就会显示)弹出如下Connections / Datasources窗口,点击【New】按钮,新建一个Oracle数据库连接弹出如下选择窗口,选择Database JDBC connection 选项,点击【Next 】,进入下一步连接配置窗口点击【Next 】后,弹出如下配置窗口:在Name处填写连接的名字(自定义);JDBC Driver处选择Oracle数据库驱动Oracle (oracle.jdbc.driver.OracleDriver);JDBC URL处填写Oracle数据的连接
4、地址jdbc:oracle:thin:SERVER:1521:DATABASE(其中SERVER是数据库服务器地址,DATABASE是数据库服务ID);Username处填写连接数据库的用户名;Password处填写用户名对应的连接密码;填写完成后可点击【Test】按钮进行连接测试,测试成功后,点击【Save】按钮,保存数据库连接。3相关概念3.1iReport输出格式以及设置pdf预览PreviewPDF Preview3.2报表结构说明1.Title:放置打印文档的标题,也可删除该band2.Page Header、Page Footer:放置文档每页的页头、页脚,也可删除该band3.C
5、olumn Header、Column Footer:放置文档中的列头、列脚,也可删除该band4.Detail:正文部分,同一个报表可以存在多个Detail5.Summary:放置合计信息4报表创建及设置4.1新建报表文件New,弹出创建窗口,选择需要的纸张类型,点击【Open this Template】按钮弹出如下窗口,输入Report name后,点击【下一步】按钮后继续点击【完成】按钮,完成报表文件的创建。4.2报表属性设置创建报表文件后,在Report Inspector的报表文件上右击,选择“属性”,如下图:弹出属性设置窗口,将When No Date和Language两项分别设
6、置为All Sections, No Detail和Java,如下图:4.3报表的动态对象变量、参数、字段在使用iReport的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,我们要介绍这些对象的使用和意义:字段(Fields):是数据库抽取出来的,希望在报表中出现的数据库内容。比如一个ID的所有值。$F filedsName 参数(Parameters):这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。$P parameterName 变量(V
7、ariables):这是报表中一些逻辑运算的表现,比如统计值。$V variablesName 每种对象的定义格式如每个对象的后面说明,比如定义一个变量(Variables),那么表达式就写成$V variablesName ,报表中出现的就是这个变量的名称。4.4报表样式Stylestyle的设置:在Report Inspector中的Style上右击,选择添加Style,在新添加的style上面右击,选择重命名,可以修改style的name选中刚添加的style,在属性窗口设置该style的各项属性,如下图;需要设置的常用属性为:Horizontal Alignment(左右对齐方式),
8、Vertical Alignment(垂直对齐方式), Font name(字体), Size(字号), Bold(是否粗体), Italic(是否斜体), Underline(是否下划线), Strike Through(是否删除线), Pdf Font name(PDF字体), Pdf Embedded, Pdf Encoding(PDF编码方式)。注意:6.如果PDF使用宋体,则Pdf Font name需要选择”STsong-Light”,同时Pdf Embedded必须处于选中状态,Pdf Encoding选择”UniGB-UCS2-H (Chinese Simplified)”;7
9、.如果PDF使用外部字体(例如新罗马字体”TIMES.TTF”),必须使用当前工程(位于/sgimsEAR/EarContent/APP-INF/classes路径下)中存在的字体文件,并且必须大写;同时Pdf Embedded置为非选中状态,Pdf Encoding选择” Identity-H (Unicode with horizontal writing)”。条件样式conditiong style的设置:在创建的style上右击,选择“添加Condition Style”,双击新添加的condition style,编写判断语句(语句必须返回Boolean类型,例如:new Boole
10、an($Fxm.length() 9);该condition style代表的意义是,如果xm的长度大于9,则执行该条件样式,否则执行上一级的样式);选中该condition style,设置各项属性,操作方法同Style的设置。4.5常用报表组件的使用1.Static Text静态文本将Static Text从组件面板拖放到工作区相应的band中,双击可进入编辑模式。右击该Static Text,选择 ”Padding and Borders”,如下图,可进行Padding(边距)和Borders(边线,例如如图中的下划线)的设置; 对于Static Text的字体等属性,可以采用指定Sty
11、le的方式,如下图,将已经创建的Style指定给该静态文本区域2.Text Field文本框Text Field文本框的使用有两种方式(推荐使用第一种方式)将需要的Parameters、Fields或者Variables直接拖放到工作区相应的band中将Text Field从组件面板拖放到工作区的相应band中,双击进入编辑状态,输入需要的值(例如字段$Ffield,字段field必须已经定义);或者在Text Field上右击,选择Edit expression,打开编辑窗口,双击需要的项(如下图中的VariablesPAGE_COUNT),点击【Apply】按钮,完成设置。对于Text F
12、ield字体、Padding、Borders等属性的设置,同Static Text相同。对于Text Field组件,需要设置Blank When Null属性(该属性保证在所传参数为null时,对应的Text Field显示为空,而不是显示为null),如下图,选中该属性即可。5报表实例5.1以SQL查询语句做数据源在建立报表时,如下图所示在Connection / Data Source处选择在2.3小结配置好的数据库,同时在Query(SQL)处输入要SQL语句,可以使用传参$P parameterName 来完善SQL查询语句。如 select * from xj_bk_jbxx wh
13、ere xh=$PXH点击【下一步】,选择需要在界面上填充的字段,如下图成功建立后出现如下界面在左边工作区内右键单击平【Parameters】,新建一个XH的参数,注意:参数名统一大写。修改SQL查询语句点击【Edit Query】SELECT * FROM xj_bk_jbxx Where xh=$PXH在JSP页面调用jasper时,先要指定使用哪个jasperreportFile = new File(application.getRealPath(/edu/pku/stu/status/bkxj/jpf/reportBK/文件名.jasper);给参数XH传值,代码如下:Map par
14、ameters = new HashMap();parameters.put(XH,”你要传的值”);生成PDF文件JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn ); / PDF报表Byte bytes= JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn); response.setContentType(application/pdf); OutputStream output =
15、 response.getOutputStream(); output.write(bytes,0,bytes.length); output.flush(); output.close();5.2以HashMap数组作为数据源“New”-“Blank A4”-【Open this Template】,新建一个jasper。然后在“Fields”中新建与HashMap数组中每个key对应的字段。将其拖入Detail中在JSP页面调用jasper时,指定HashMap数组作为数据源,一般将其放在session中HashMap fieldHm=(HashMap)session.getAttribu
16、te(fieldHm);然后指定为JDataSourceUtil对象,并作为生成PDF文件的参数传入JDataSourceUtil jd = new JDataSourceUtil(fieldHm); byte bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), paramHm, jd);6循环打印需要循环打印的部分,应该放在Detail中,并且Detail的高度,应该与循环打印的每一行高度相同。如果需要序号的,可以使用Variables自动生成。下图为循环打印示例,图中红框中部分为Detail循环打印部分,其高度必须与每
17、一循环行的高度相同。7子报表子报表为Subreport,每一个子报表必须单独占有一个Detail,不可跨band;使用子报表时,首先创建一个子报表,然后在父报表上添加一个子报表组件Subreport(从组件面板拖放到相应的Detail中),拖放以后会弹出连接子报表的窗口,如下图,选择之前创建的子报表后,点击【完成】按钮,完成子报表的引入。8套打套打应用于打印证书等特殊纸张的报表。进行此类打印,需要精确测量各元素在纸张上所处的位置信息(例如:到左边距的距离),为了测量的方便,建议将报表标尺的单位修改为厘米(cm),修改方式如下图,工具选项General选项卡中,Units部分的Default unit,选择cm,点击【确定】按钮完成设置。下图为套打示例,在进行套打时,关键在于每一个元素的位置必须与打印纸上面该元素的位置完全相同(需要精确),防止在打印时出现重叠、偏移等问题。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1