Archive for 10月, 2009

缓存与实时报表

10.25.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

当同一报表被连续多次重复访问时,服务器的运算消耗将会增加,报表展现所需的时间也会增长。如果能够把第一次算出的报表缓存下来,再次访问时直接从缓存中读取,则可以减轻服务器的负担,从而缩短用户的等待时间。润乾报表提供了缓存的机制,可通过设置reportConfig.xml中的缓存参数控制缓存的使用,实现实时报表。

在reportConfig.xml中提供了缓存参数,详细说明如下

alwaysReloadDefine: 是否每次都重新读取报表定义,如设为yes,表示关闭缓存功能,设为no,表示开启缓存功能。

cachedParamsTimeout: 表示提交给报表的参数在缓存中保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。

cachedReportDir: 表示报表缓存的文件夹,(在unix系统中,用户应对此文件夹有写的权限,并根据报表的数量和访问量的大小以及缓存超时的时间,分配一个合理的空间大小)。如果不设此参数或设置错误,则采用JDK默认的临时文件夹。

cachedIdPrefix: 表示报表缓存的前缀。只有在集群环境中并且多台服务器共享一个报表缓存目录时才需要设置。

cachedReportTimeout: 表示报表缓存保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。此值应根据实际内存大小、缓存文件夹空间大小来调节,一般在1-3小时之间。

当且仅当reportConfig.xml里的alwayReloadDefine属性设置为no时,才能开启报表缓存功能,它在计算时,在指定的时间内,报表定义文件仅加载一次,报表仅运算一次。其它操作都从缓存中提取,如翻页等等。

在reportConfig.xml中设置的缓存对所有的应用都起作用。当reportConfig.xml里的alwayReloadDefine属性设置为no时,应用中的所有报表都会有缓存功能。我们还可以通过<report:html >标签设置单个报表是否有缓存功能。

tag标签中的属性说明如下:

useCache 控制是否启用缓存。当且仅当reportConfig.xml里的alwayReloadDefine属性设置为no时,useCache的设置才起作用。当useCache为no时,即使alwayReloadDefine属性是no,由此标签发布的报表,也不会开启缓存功能。

timeout:从缓存系统中取多少分钟内产生的报表,如果没有此时间内的,则产生一个新报表。当且仅当reportConfig.xml里的alwayReloadDefine属性设置为no时,timeout的设置才起作用。如果cachedReportTimeout中设置了超时时间和标签中的timeout不一致,以timeout的设置为主。

标签使用举例如下:

<report:html name=”report1″
reportFileName=”test.raq”
useCache=”yes”
timeout=”30″
/>

润乾报表提供的通过配置reportConfig.xml中的缓存参数来灵活控制缓存使用的功能,大大减少了数据量比较大时频繁访问报表给服务器带来的压力,实现了实时报表,也增强了用户的体验。

引自:润乾报表知识库
相关文章:可树形展开的折叠报表的制作;

打印模式发布报表

10.24.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表提供了灵活的展现报表的方式。除了浏览式发布报表,还提供了打印模式发布报表的功能。所谓打印模式发布报表就是直接在浏览器中以打印预览的方式显示报表,就是通过applet在网页上发布报表。它是通过<report:print >标签来实现的。打印模式展现报表时,用户可以直接打印报表。下面简单介绍一下打印模式发布报表标签及标签的使用。

一、标签的属性

下表中的属性如未说明,则与html报表的相应属性相同。

属性名

是否必填

属性含义

属性取值

缺省值

name

报表在网页中的ID标识

符合变量命名规则的字符串,在本网页中应是唯一的

srcType

报表源的类型

取值为file或defineBean

file

reportFileName

当报表源类型为file时,要发布的报表文件

报表文件名

beanName

当报表源类型为defineBean时,已保存到request中的bean的名称

符合变量命名规则的字符串,与保存报表源bean时的名称一致,且在整个WEB应用中应唯一

useCache

显示此报表时是否从缓存系统中取已经计算好的报表

yes或no

如果是实时报表,应该设为no

yes

timeout

从缓存系统中取多少分钟内产生的报表,如果没有此时间内的,则产生一个新报表

整数,表示分钟

负数表示不限时间

-1

width

控件的显示宽度

整数,单位为px

600

height

控件的显示高度

整数,单位为px

480

columns

报表分栏数

整数

报表设计分栏数

generateParamForm

是否生成缺省报表参数及宏输入表单

yes或no

no

params

报表所需要的参数

见后”报表参数及宏输入”小节

exceptionPage

显示报表异常信息的JSP页面

页面相对于应用根目录的路径名

savePrintSetup

是否将客户端电脑的打印设置发回服务器保存,以备下次打印这张报表时使用,该属性对直接打印也起作用

Yes或者no

no

needSelectPrinter

是否打印时选择打印机

Yes或者no

no

二、使用标签

为了以打印模式展现报表test_print.raq(test_print.raq为员工信息表),在发布报表的jsp文件中加入标签引用,如下

<report:print name=”report1″

reportFileName=”test_print.raq”

savePrintSetup=”no”

needSelectPrinter=”no”

width=”500″

height=”600″

/>

然后查看发布报表的页面,效果如下

这样就可以实现打印模式展现报表,方便用户直接打印报表。

润乾报表提供的打印模式发布报表的功能,为报表提供了灵活的展现方式,方便用户使用。
引自:润乾报表知识库
相关文章:打印-页面边距设置  ; vpn外网打印报表 润乾报表填报表组:套表、多表填报 ;Java报表工具打印方案集锦 ;报表工具制表能力的探讨
其他相关内容: 润乾商业智能解决方案 ; 商业智能BI联盟 ; Java报表

在网页上对报表单元格值的引用

10.23.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表在页面上是以纯html形式发布的,每个单元格都有自己的ID,也就是说,可以在页面上引用任何一个单元格的值来进行进一步的处理。

有两种可以确定到单元格位置的方法:

一、通过报表名和单元格名:reportName_cellName,其中reportName是发布报表tag中name的属性值,cellName是单元格名称

如:report1_C1.value–获得报表report1的C1单元格的真实值

report1_C1.innerText–获得报表report1的C1单元格的显示值

二、通过设置单元格的变量名属性

设置了变量名之后,就可以在页面中对其进行引用了,可以在jsp代码中引用,还提供了tag标签来引用。

1.在jsp代码中引用:

<%
String myVar = request.getAttribute( “myVar” );
%>

2.使用tag标签引用:

<report:var name=”myVar” />
引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

报表导出为文件时的相关设置

10.22.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表在页面上以标准html的形式展现,可以通过使用润乾提供的tag标签将报表以文件的方式导出为EXCEL、PDF、WORD、TEXT、XML和润乾自有的RAT文件格式。

下面介绍与导出相关的tag标签:

1.导出功能按钮定义:

needSaveAsExcel–是否需要显示将报表存为Excel的功能钮,属性取值为yes/no,默认为no。

needSaveAsPdf–是否需要显示将报表存为Pdf的功能钮,属性取值为yes/no,默认为no。

needSaveAsWord–是否需要显示将报表存为Word的功能钮,属性取值为yes/no,默认为no。

needSaveAsText–是否需要显示将报表存为Text的功能钮,属性取值为yes/no,默认为no。

2.导出按钮外观定义:

excelLabel–存为Excel钮外观定义,属性取值为html元素或文字,默认为文字”存为Excel”。

pdfLabel–存为Pdf钮外观定义,属性取值为html元素或文字,默认为文字”存为PDF”。

wordLabel–存为Word钮外观定义,属性取值为html元素或文字,默认为文字”存为Word”。

textLabel–存为Text钮外观定义,属性取值为html元素或文字,默认为文字”存为Text”。

默认导出按钮外观:

1.png

指定图片后的导出按钮外观:

2.png

3.导出文件的特殊设置:

textDataSeparator–存为Text时,同行单元格数据间的分隔符,属性取值为字符,默认为TAB键(\t)。

excelUsePaperSize–存为EXCEL时的纸张尺寸:yes按报表设计时的纸张尺寸,no采用本TAG标签中指定的width、height值,默认为no。

saveAsName–报表另存为Excel、PDF或离线填报时的文件名(不用带扩展名),属性取值为文本,默认为与报表文件名相同。

excelPageStyle–存为Excel时的分页方式,不指定此属性值,则系统弹出对话框让用户选,属性取值为0(不分页)或1(分页),默认为不指定此属性值。

3.png

pdfExportStyle–存为PDF时,导出的文件分页方式及导出类型,不指定此属性值,则系统弹出对话框让用户选,属性值格式为:”文件类型,是否分页”,文件类型取值为:graph(将文字导出为图形方式)/text(将文字导出为文本方式),1(分页)或0(不分页),默认为不指定此属性值。

4.png

用户可以根据不同的实际需求,通过润乾提供的上述各标签进行导出相关属性的设定,灵活便捷,满足不同需要。
引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

报表分页高度与宽度的设置

10.21.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表在web端是以纯html方式发布的。润乾提供一系列的tag标签来发布报表,用户通过定义Tag标签的属性及其值,在不需要调用润乾API情况下,就可以完成报表的解析及运算,并按用户配置的属性要求将HTML文件流输出到客户端。本文主要介绍tag标签中常用的两个属性–width和height。

对于过长或过宽的浏览式报表,通常需要将其按照一定标准进行纵向或横向分页,这时就要用到报表分页高度height和报表分页宽度width这两个属性。其值为整数,单位是px,负数表示无穷大即不分页,一般用-1表示。

对于过宽报表,在发布报表的<report:html ……/>中设置width属性的值为-1,即横向不分页,效果如下图所示:
xn-ihqs0h1zbr55bd36c1

同样的报表,将width属性值设置为200,即报表分页宽度为200px,效果如下图所示:

横向分页.png

对于过长报表,在发布报表的<report:html ……/>中设置height属性的值为-1,即纵向不分页,效果如下图所示:

纵向不分页.png

同样的报表,将height属性值设置为100,即报表分页高度为100px,效果如下图所示:

纵向分页.png

可见,通过对width和height两个属性值的设定,就可以灵活的根据需要控制报表展现时是否分页以及分页时的高度和宽度了。

值得注意的是,在 报表属性-打印 里面有纸张方向的设定,如下图

纸张方向.png

上文中所述的height属性代表报表分页高度、width属性代表报表分页宽度均指此处纸张方向设置为纵向的情况。若此处的纸张方向设置为横向,则两属性相反,即纸张方向为横向的情况下,height属性代表的就是报表分页宽度、width属性代表的就是报表分页高度了。(这里的高和宽指的是按照用户正常面对电脑屏幕时的视野,横向时实际就是相当于用户将头左转90度看到的视野)
引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

免费版统计图介绍柱形图

10.20.2009 by fengzhou - 0 Comment - 0
Posted in 报表统计图

免费版统计图介绍
统计图是web报表的增色剂,不仅能使报表看起来更美观,也能更形象直观的展示报表信息。在快逸报表免费版中为报表开发人员开放了以下多种功能强劲实用的统计图:

柱形图 三维柱形图 堆积柱形图
三维堆积柱形图 饼形图 三维饼形图
折线图 三维折线图 条形图
三维簇状条形图 堆积条形图 三维堆积条形图
散列图 三维簇状柱形图  

各个统计图的显示效果如下:(统计图中的所有颜色都可以自己定义)

柱形图

快逸报表柱形图

三维柱形图

快逸报表三维柱形图

三维簇状柱形图

快逸报表三维簇状柱形图

堆积柱形图

快逸报表堆积柱形图

三维堆积柱形图

快逸报表三维堆积柱形图

饼形图

快逸报表饼形图

三维饼形图

快逸报表三维饼形图

多层三维饼形图

快逸报表多层三维饼形图

折线图

快逸报表折线图

区域图

快逸报表区域图

三维区域图

快逸报表三维区域图

条形图

快逸报表条形图

三维簇状条形图

快逸报表三维簇状条形图

散列图

快逸报表散列图

引自:报表工具知识库
原文链接: 免费版统计图介绍柱形图

快逸报表导出Excel、Word、PDF介绍

10.19.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

能否方便准确的把web报表导出成为Excel、Word、PDF等文件形式是衡量报表功能/性能是否强大与完善的一个重要条件。在快逸报表中就为web报表浏览者提供了非常方便的不失真导出Excel、Word、PDF等功能,并且导出后的文件形式保留了原先的打印等基本设置,无需再次设置就可以按原先格式打印。下面我们来分别介绍一下各个功能。

首先来看一下展现后的Web报表:

快逸报表web发布效果

导出Excel

快逸报表导出excel提示

点击导出Excel按钮会弹出导出设置提示框,设置内容包括:
不分页:这个web报表在一个Excel表单sheet中显示
分页:web报表的不同分页用多个sheet显示
是否导出公式:选中后可以把报表单元格中一些计算公式一起导出,例如:A4=A3+A2

导出Excel效果:

快逸报表导出excel效果

导出Word

快逸报表导出word

导出Word没有特殊设置提示,直接显示保存界面。导出效果见下图:

快逸报表导出word效果

导出PDF

快逸报表导出pdf提示

点击导出PDF按钮,弹出设置提示框,设置内容有:
导出文字为图形形式:导出的PDF为图形形式
导出文字为文本形式:导出的PDF为文本形式
分页/不分页:web报表的不同页导出PDF后在一页显示还是分页显示

导出PDF效果:

快逸报表导出pdf效果

附注:快逸报表目前导出的Excel和Word文件为office2003格式,即后缀名为XXX.xls,XXX.doc

引自:报表工具知识库
原文链接: 快逸报表导出Excel、Word、PDF介绍

分页机制介绍

10.18.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

只要是报表就会有要分页的时候(纵向分页与横向分页),分页在web报表中也是最常见的一种需求。在快逸报表中为开发人员提供了3种强大的分页机制:按纸分页、按行分页、强制分页,通过这三种方式可以很方便的解决用户的各种分页需求。

按纸分页
在报表属性的分页方式中选择”按纸分页”,报表会根据纸张的大小来分页显示和打印。效果如下图:

快逸报表按纸分页设置

快逸报表按纸分页设置

设计器中的虚线为纸张大小的边界线,可以方便用户设计,报表设计时或者发布扩展时超出纸张大小则会分页。

按行分页
设定报表每页以固定行数在Web上展示和打印,设定界面如下图:

快逸报表按行分页设置

在浏览器中展示效果见下图:

快逸报表按行分页效果

我们可以看到一页中只显示设置的行数,10行。

强制分页
强制分页有类似在word中插入分页符或是在Excel中插入分隔符,通过行后分页和列后分页的设置强制报表在某行或者某列后分页,可以实现分组分页,或者特殊行分页等效果。
分组分页设置:

快逸报表分组分页设置

分组分页效果图1:

快逸报表分组分页效果

分组分页效果图2:

快逸报表分组分页效果

从上面的两个图我们可以看出分组分页的效果已经实现,每页只显示一个地区分组。

附注:强制分页的更多介绍可以参看:设计器—帮助—使用手册—用户手册(基础)—5.2.2.18行后分页

引自:报表工具知识库
原文链接: 分页机制介绍

在润乾报表中使用超链接–触发js函数

10.17.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表提供了为单元格设置超链接属性的功能。润乾报表提供的超链接可分为常规超链接、超链接中引用单元格的值,超链接中触发js函数三种类型。前面的文章我们已经介绍过了前两种,这里将介绍如何在超链接中使用js函数。下面给出一个简单的例子。

首先,新建一个报表,在E1中添加文字:触发js函数,为了看起来明显,设置字体颜色为蓝色,并为字体加上下划线,设置E1 超链接 属性的值为:javascript:tips()。其中tips()为待触发的js函数,如下图

cfjssj.png

然后,在发布报表的页面上,编写js函数tips()如下

<script launguage=”javascript”>
function tips(){
alert(”被超链接触发的js弹出提示框!”);
}
</script>

或者,可以直接在该单元格的超链接属性的表达式中写javascript函数,如下图

biaodashi.png

此时就不用在发布报表的jsp页面上编写js函数了。

最后,发布报表,当点击报表E1中文字 :触发js函数,就会执行js函数,弹出提示框,如下图

cfjshsxs.png

这样就实现了在超链接中触发js函数。

注意:润乾报表中提供利用单元格的超链接属性触发js函数的接口,至于使用什么样的js函数,需要用户根据需要自己定义。例如,用户可以编写一个js函数,完成弹出新窗口展现报表的功能,函数举例如下

//在弹出新窗口中展现报表,并向该页面传递参数id的值
function show_product(id){
var strurl=’./chaolianjie.jsp?raq=test.raq&arg1=’+id;
window.open(strurl,”_blank”,” Width=650 ,Height=500,top=100,left=100″);
}

然后在报表触发单元格里写入如下超链接表达式,把A1的真实值传递到新窗口打开的报表展现页面。


引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法

在润乾报表中使用超链接–引用单元格的值

10.16.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

润乾报表提供了为单元格设置超链接属性的功能。润乾报表提供的超链接可分为常规超链接、超链接中引用单元格的值,超链接中触发js函数三种类型。当超链接字符串需要根据单元格或者参数值动态生成时,很多情况下需要引用单元格的值。这里就介绍一下,如何在超链接中引用单元格的值,包括引用单元格的真实值和显示值。

例子说明:制作一个报表,报表标题:报表,报表中A2格展现的字段有真实值和显示值。点击:真实值链接,超链接会引用A2的真实值,展现报表文件trueValue.raq,即展现客户信息表。当点击显示值连接,超链接会引用A2的显示值,展现报表dispValue.raq,即展现雇员信息表。

首先,准备两个报表trueValue.raq 和dispValue.raq,作为超链接引用单元格真实值和显示值后分别展现的报表文件,报表设计如下图

sjbb.png

然后,新建一个报表,先创建一个内建数据集ds1,数据集中的数据如下

zsjj.png

设置A4的内容:显示值,B4的内容:真实值;设置A4、B4的属性,显示-前景色:蓝色,字体:加下划线,设计好后,如下图

z设计.png

设置A2的值和显示值,如下图

zsj_xszsx.png

设置A4的超链接属性,如下图

sza4.png

设置B4的超链接属性,如下图

szb4.png

最后,发布报表,点击链接:显示值,则在超链接中引用的是A2的显示值dispValue.raq,会展现报表dispValue.raq,即展现雇员信息表;点击链接:真实值,则在超链接中引用的是A2的真实值trueValue.raq,会展现报表trueValue.raq,即展现客户信息表。如下图

zxg.png

这样就实现了在超链接中引用单元格的真实值或显示值。后面的文章我们还会介绍如何在超链接中触发js函数。
引自:润乾报表知识库
相关文章:利用超链接传递下拉数据集的值特殊符号的处理如何使用序号函数给报表加序号动态设置滚动条高度宽度的方法