润乾集算报表应用开发之页面嵌入

润乾集算报表作为纯JAVA报表可以很方便嵌入到J2EE页面中使用,目前集算报表提供了多种发布方式供用用户将报表嵌入到JSP页面时使用。集算报表中报表有参数报表和数据报表两种,下面来看一下这两类报表的页面嵌入方式。

参数报表

由于参数报表大多数都和数据报表联合发布查询数据,所以这里只介绍联合使用方式(单独发布与数据报表一样)。参数报表嵌入页面时使用的标签为<report:param>,该标签的主要属性有name、paramFileName和params,name指定了参数表单的名称,paramFileName为参数报表模板文件名,params为参数报表接收的参数,其格式要求为:参数名1=参数值1;参数名2=参数值2…。具体使用可以参考如下书写方式:

<report:param

name="form1"

paramFileName="demo_arg.rpx"

params=""

/>

数据报表

数据报表嵌入页面使用的标签为<report:html>,常用属性包括name(表格名称)、srcType(源类型,可以是file、defineBean或reportBean)、funcBarLocation(是否包含工具条)、needPageMark(是否需要页码)、params(报表参数,同参数报表中params)、exceptionPage(错误提示页面)等。

属性srcType的不同值指定了不同的报表发布方式,以满足不同场景的需要。下面分别来看一下。

file方式

当srcType=”file”时为file方式发布报表,通过reportFileName属性指定报表模板名称完成报表发布。此方式为最常用的报表发布方式,具体使用可以参考如下书写方式:

<report:html

srcType=”file”

name="report1"

reportFileName="demo.rpx"

funcBarLocation="top"

needPageMark="yes"

params="d_year=2014;u_id=10001"

exceptionPage="/reportJsp/myError2.jsp"

/>

defineBean方式

除了直接指定报表文件,还可以发布程序读入的报表定义(ReportDefine),使用这中方式需要指定srcType=“defineBean”,具体使用可以参考如下书写方式:

<%    //读入报表定义

String reportPath =request.getRealPath("/reportFiles/api/wangge.rpx");

ReportDefine rd =(ReportDefine)ReportUtils.read(reportPath);

request.setAttribute("reportDefine",rd);

%>

<!—发布报表 -->

<report:html

name="report1"

srcType="defineBean"

beanName="reportDefine"

exceptionPage="/reportJsp/jsp/myError.jsp"

/>

reportBean方式

除了直接指定报表模板和接收报表定义,有时还需要直接使用程序计算好的报表(IReport)进行发布,此时需要指定srcType=“reportBean”,使用时可以参考如下写法:

<%    //程序计算报表

String reportPath =request.getRealPath("/reportFiles/api/wangge.rpx");

ReportDefine rd =(ReportDefine)ReportUtils.read(reportPath);

Context cxt = newContext();

Engine engine = newEngine(rd, cxt);

IReport iReport =engine.calc();

request.setAttribute("report",iReport);

%>

<!—发布报表 -->

<report:htmlname="report1"

srcType="reportBean"

beanName="report"

exceptionPage="/reportJsp/jsp/myError.jsp"

/>

context方式

除了上述三种方式,还可以自定义context后传递给tag去发布,利用context,可以传递参数和宏,还可以指定数据源、数据库连接工厂等。使用时可以参考如下写法:

<%

Context context = newContext();

//传递参数、数据源等,此处省略

request.setAttribute(“myContext”, context );

%>

<report:html ……..

contextName=”myContext”

/>

常见属性配置效果

1.功能条

配置funcBarLocation="top"和needPageMark="yes"可以在报表上方显示功能条及翻页按钮等。

2.导出打印按钮

配置needSaveAsWord="yes" needSaveAsExcel="yes" needSaveAsPdf="yes"needPrint="yes" 可以显示导出Word、Excel、Pdf及打印按钮。

3.固定表头

配置needScroll="yes" scrollWidth="100%"scrollHeight="100%"可以将报表表头固定。

时间: 2024-10-12 18:05:44

润乾集算报表应用开发之页面嵌入的相关文章

润乾集算报表应用开发之参数输入

参数对于报表的重要性不言自明,润乾集算报表支持两种参数输入方案,可以使用集算报表设计参数模板联合报表一同发布,还可以自定义参数输入后与报表结合.二者并没有显著的差异,前者在开发使用上更加方便快捷,而后者则在灵活性上更胜一筹,用户在使用集算报表参数输入时可以根据实际需要进行选择. 下面就上述两种参数输入方式的使用分别来看一下. 使用参数输入模板 集算报表提供了"参数模板"的报表类型,使用参数模板可以制作参数输入表单,而且其内置了多种编辑风格,如下拉树.下拉日历.列表框.下拉数据集等.使用

润乾集算报表使用远程HTTP数据源的示例

报表的数据来源多种多样,有时会接收来自HTTP服务器的数据进行报表展现,一般报表工具只能通过报表自定义数据源使用高级语言(如JAVA)进行处理,实现较为复杂.集算报表简单地通用集算器接收HTTP数据源完成报表展现.这里通过一个实例说明. 学生成绩信息存储在远程的JSON格式文件中,其所在HTTP服务器对外提供统一HTTP访问接口,现需要读取学生成绩信息开发报表,汇总学生成绩并按总成绩排名.报表样式如下: JSON文件中包含班级.编号.姓名.学科.成绩等信息,格式如下: [ { "class&qu

润乾集算报表交互分析之多层自动钻取

交互分析过程中报表多层钻取的情况很常见,如从一级汇总数据钻取到二级汇总数据,从二级汇总数据钻取到三级汇总数据-.,钻取时可以从表格到表格,也可以从统计图到统计图.开发这类报表时如果每个层级都需要制作不同的报表,在层数较多时,无论对于开发还是维护都是很麻烦的事,如果能制作一个通用的模板完成所有层级报表的展现则事半功倍. 润乾集算报表通过内置的集算引擎可以快速完成多层钻取通用报表模板的开发.下面通过一个示例说明使用过程. 多层钻取往往在一个维度上逐级细化,如这里我们以订单表中5个地区层级为例(可以扩

润乾集算报表优化应用结构之可挂接算法

在报表项目中,有些报表的数据计算方法会经常改变.例如:某企业员工的实际工资是通过绩效得分计算出的,算法经常变动,需要在不改动其他代码的情况下用新算法替换旧算法.如果用Java来实现计算的话,虽然可以实现动态可挂接计算模块,但是存在缺乏基础类库.占用多余内存等问题. 采用润乾集算报表可以很好的解决这些问题,实现低耦合.热部署的动态挂接算法.集算报表挂接算法系统结合和其他报表工具+java的系统结构对比图如下: 上图可以看出,java程序必须要编译.打包才能更新.集算脚本是解释执行的,脚本文件同时也

润乾集算报表提升性能之过程优化

报表出现性能问题需要对数据源计算进行优化时,执行路径难以确定从而被干预是阻碍报表优化的难题之一.由于数据库执行路径对开发人员不透明,报表优化需要指定执行路径时,程序员会很难甚至无法干预.而一般报表工具不具备强计算能力,大部分计算仍然要依靠数据库进行,这就导致很多报表优化效果不理想. 不同于一般报表工具,润乾集算报表内置了专门用于数据计算的集算引擎,开发人员可以通过编写集算脚本完成报表数据源准备.与数据库执行SQL路径不可控相比,集算脚本的执行过程是可控的,开发人员可根据实际情况编写或更改计算执行

润乾集算报表多样性数据源之动态SQL传递

大多数情况下报表的数据源SQL都是固定的,但有时也需要动态变动其中某些部分实现动态拼出,比如在报表应用中允许用户通过选择表和字段查询自己关心的报表数据,报表开发时则希望对同类报表(明细或汇总)使用同一模板.这时就需要在报表中接收相应参数拼接出动态SQL进行查询后制作动态报表. 润乾集算报表提供了两种处理动态SQL的方法,使用宏和集算脚本,可以快速完成这类报表,下面举例说明. 使用宏 集算报表提供了宏机制,通过在动态宏中拼接SQL后交由数据集查询结果,最后在报表中使用动态表达式获得字段名和字段值完

润乾集算报表多样性数据源之json

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:JSON.HTTP.TXT文本.Excel.Hadoop.mongodb等. JSON作为一种轻量级数据格式应用非常广泛,报表读取json数据源进行报表开发的需求也很常见,另外有些报表还会接收来自HTTP服务器的数据进行报表展现.这里通过例子分别来看一下集算报表使用json数据源和http数据源的过程. 一般JSON数据源 报表说明 学

润乾集算报表呈现输出之表头重复

在报表展现或打印时为了便于查看数据,往往希望报表头在每页中重复出现.润乾集算报表除了可以实现每页均重复同样的表头外,还可以实现分组表头重复,即当分组出现在多页时显示同一分组表头.下面分别来看一下在集算报表中上述两种表头重复如何实现. 一般表头重复 使用集算报表开发时,如果希望分页报表的表头重复显示,只需要将表头的行类型设置为"报表头"即可.如下图: 其第一行类型为: 这样,报表在展现或打印时表头就会在每页中重复,效果如下(页面展现): 第一页                   第二页

润乾集算报表的集算器数据集部署(I)

润乾集算报表提供了集算器数据集,允许用户使用集算器脚本完成数据的进一步计算和加工,为报表提供数据源支持,从而简化报表开发,提升报表性能. 集算器脚本的编辑需要借助第三方集算编辑器(非报表工具)完成,而后嵌入到报表工具和报表应用中完成报表开发和部署. 下面来看一下集算器数据集的使用和以及报表部署过程. 1.开发环境使用 集算报表使用集算器数据集时,首先需要设置集算器授权信息和配置数据源连接(如果需要从数据库中取数). 1.1.设置授权信息 启动集算报表设计器,选择工具-选项,切换到"集算器选项&q