iReport使用配置说明书Word文档格式.docx
- 文档编号:21680867
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:16
- 大小:612.52KB
iReport使用配置说明书Word文档格式.docx
《iReport使用配置说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《iReport使用配置说明书Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
2.2编译路径配置
。
2.3连接Oracle数据库配置
添加Oracle数据库驱动
将classes12.jar复制到iReport的安装路径下(例如:
\ProgramFiles\JasperSoft\iReport-nb-3.6.0\ireport\modules\ext\);
点击Classpath选项卡中的【AddJAR】按钮,将上述路径下刚复制进去的jar包导入;
点击【确定】按钮,完成oracle数据库驱动的导入。
配置数据库连接
点击iReport界面的【ReportDatasources】按钮(如下图,如果没有此按钮,选中视图→工具栏→Designer选项,该按钮就会显示)
弹出如下Connections/Datasources窗口,点击【New】按钮,新建一个Oracle数据库连接
弹出如下选择窗口,选择DatabaseJDBCconnection选项,点击【Next>
】,进入下一步连接配置窗口
点击【Next>
】后,弹出如下配置窗口:
在Name处填写连接的名字(自定义);
JDBCDriver处选择Oracle数据库驱动Oracle(oracle.jdbc.driver.OracleDriver);
JDBCURL处填写Oracle数据的连接地址jdbc:
oracle:
thin:
@SERVER:
1521:
DATABASE(其中SERVER是数据库服务器地址,DATABASE是数据库服务ID);
Username处填写连接数据库的用户名;
Password处填写用户名对应的连接密码;
填写完成后可点击【Test】按钮进行连接测试,测试成功后,点击【Save】按钮,保存数据库连接。
3相关概念
3.1iReport输出格式以及设置pdf预览
Preview→PDFPreview
3.2报表结构说明
1.Title:
放置打印文档的标题,也可删除该band
2.PageHeader、PageFooter:
放置文档每页的页头、页脚,也可删除该band
3.ColumnHeader、ColumnFooter:
放置文档中的列头、列脚,也可删除该band
4.Detail:
正文部分,同一个报表可以存在多个Detail
5.Summary:
放置合计信息
4报表创建及设置
4.1新建报表
文件→New,弹出创建窗口,选择需要的纸张类型,点击【OpenthisTemplate】按钮
弹出如下窗口,输入Reportname后,点击【下一步】按钮后继续点击【完成】按钮,完成报表文件的创建。
4.2报表属性设置
创建报表文件后,在ReportInspector的报表文件上右击,选择“属性”,如下图:
弹出属性设置窗口,将WhenNoDate和Language两项分别设置为AllSections,NoDetail和Java,如下图:
4.3报表的动态对象变量、参数、字段
在使用iReport的过程中会碰到很多与变量(Variables)、参数(Parameters)、字段(Fields)这些有关的内容,我们要介绍这些对象的使用和意义:
●字段(Fields):
是数据库抽取出来的,希望在报表中出现的数据库内容。
比如一个ID的所有值。
$F{filedsName}
●参数(Parameters):
这是你的应用需要提供给报表的入口,比如你希望在报表被解释的时候提供Where语句的条件值,那么就可以使用参数(Parameters)。
$P{parameterName}
●变量(Variables):
这是报表中一些逻辑运算的表现,比如统计值。
$V{variablesName}
每种对象的定义格式如每个对象的后面说明,比如定义一个变量(Variables),那么表达式就写成$V{variablesName},报表中出现的就是这个变量的名称。
4.4报表样式Style
style的设置:
在ReportInspector中的Style上右击,选择添加→Style,在新添加的style上面右击,选择重命名,可以修改style的name
选中刚添加的style,在属性窗口设置该style的各项属性,如下图;
需要设置的常用属性为:
HorizontalAlignment(左右对齐方式),VerticalAlignment(垂直对齐方式),Fontname(字体),Size(字号),Bold(是否粗体),Italic(是否斜体),Underline(是否下划线),StrikeThrough(是否删除线),PdfFontname(PDF字体),PdfEmbedded,PdfEncoding(PDF编码方式)。
注意:
6.如果PDF使用宋体,则PdfFontname需要选择”STsong-Light”,同时PdfEmbedded必须处于选中状态,PdfEncoding选择”UniGB-UCS2-H(ChineseSimplified)”;
7.如果PDF使用外部字体(例如新罗马字体”TIMES.TTF”),必须使用当前工程(位于/sgimsEAR/EarContent/APP-INF/classes路径下)中存在的字体文件,并且必须大写;
同时PdfEmbedded置为非选中状态,PdfEncoding选择”Identity-H(Unicodewithhorizontalwriting)”。
条件样式conditiongstyle的设置:
在创建的style上右击,选择“添加ConditionStyle”,双击新添加的conditionstyle,编写判断语句(语句必须返回Boolean类型,例如:
newBoolean($F{xm}.length()>
9);
该conditionstyle代表的意义是,如果xm的长度大于9,则执行该条件样式,否则执行上一级的样式);
选中该conditionstyle,设置各项属性,操作方法同Style的设置。
4.5常用报表组件的使用
1.StaticText静态文本
将StaticText从组件面板拖放到工作区相应的band中,双击可进入编辑模式。
右击该StaticText,选择”PaddingandBorders”,如下图,可进行Padding(边距)和Borders(边线,例如如图中的下划线)的设置;
对于StaticText的字体等属性,可以采用指定Style的方式,如下图,将已经创建的Style指定给该静态文本区域
2.TextField文本框
TextField文本框的使用有两种方式(推荐使用第一种方式)
将需要的Parameters、Fields或者Variables直接拖放到工作区相应的band中
将TextField从组件面板拖放到工作区的相应band中,双击进入编辑状态,输入需要的值(例如字段$F{field},字段field必须已经定义);
或者在TextField上右击,选择Editexpression,打开编辑窗口,双击需要的项(如下图中的Variables→PAGE_COUNT),点击【Apply】按钮,完成设置。
对于TextField字体、Padding、Borders等属性的设置,同StaticText相同。
对于TextField组件,需要设置BlankWhenNull属性(该属性保证在所传参数为null时,对应的TextField显示为空,而不是显示为null),如下图,选中该属性即可。
5报表实例
5.1以SQL查询语句做数据源
在建立报表时,如下图所示
在Connection/DataSource处选择在2.3小结配置好的数据库,同时在Query(SQL)处输入要SQL语句,可以使用传参$P{parameterName}来完善SQL查询语句。
如
select*fromxj_bk_jbxxwherexh=$P{XH}
点击【下一步】,选择需要在界面上填充的字段,如下图
成功建立后出现如下界面
在左边工作区内右键单击平【Parameters】,新建一个XH的参数,注意:
参数名统一大写。
修改SQL查询语句
点击【EditQuery】
SELECT*FROMxj_bk_jbxxWherexh=$P{XH}
在JSP页面调用jasper时,先要指定使用哪个jasper
reportFile=newFile(application.getRealPath("
/edu/pku/stu/status/bkxj/jpf/reportBK/文件名.jasper"
));
给参数XH传值,代码如下:
Mapparameters=newHashMap();
parameters.put("
XH"
”你要传的值”);
生成PDF文件
JasperPrintjasperPrint=JasperFillManager.fillReport(jasperReport,parameters,conn);
//PDF报表
Bytebytes[]
=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
response.setContentType("
application/pdf"
);
OutputStreamoutput=response.getOutputStream();
output.write(bytes,0,bytes.length);
output.flush();
output.close();
5.2以HashMap数组作为数据源
“New”->
“BlankA4”->
【OpenthisTemplate】,新建一个jasper。
然后在“Fields”中新建与HashMap数组中每个key对应的字段。
将其拖入Detail中
在JSP页面调用jasper时,指定HashMap数组作为数据源,一般将其放在session中
HashMap[]fieldHm=(HashMap[])session.getAttribute("
fieldHm"
然后指定为JDataSourceUtil对象,并作为生成PDF文件的参数传入
JDataSourceUtiljd=newJDataSourceUtil(fieldHm);
bytebytes[]=JasperRunManager.runReportToPdf(reportFile.getPath(),paramHm,jd);
6循环打印
需要循环打印的部分,应该放在Detail中,并且Detail的高度,应该与循环打印的每一行高度相同。
如果需要序号的,可以使用Variables自动生成。
下图为循环打印示例,图中红框中部分为Detail循环打印部分,其高度必须与每一循环行的高度相同。
7子报表
子报表为Subreport,每一个子报表必须单独占有一个Detail,不可跨band;
使用子报表时,首先创建一个子报表,然后在父报表上添加一个子报表组件Subreport(从组件面板拖放到相应的Detail中),拖放以后会弹出连接子报表的窗口,如下图,选择之前创建的子报表后,点击【完成】按钮,完成子报表的引入。
8套打
套打应用于打印证书等特殊纸张的报表。
进行此类打印,需要精确测量各元素在纸张上所处的位置信息(例如:
到左边距的距离),为了测量的方便,建议将报表标尺的单位修改为厘米(cm),修改方式如下图,工具→选项→General选项卡中,Units部分的Defaultunit,选择cm,点击【确定】按钮完成设置。
下图为套打示例,在进行套打时,关键在于每一个元素的位置必须与打印纸上面该元素的位置完全相同(需要精确),防止在打印时出现重叠、偏移等问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- iReport 使用 配置 说明书