本章主要介绍大报表的原理、用途及详细说明。
◆ 实例请参考TAG实例 / 大报表
原理和用途:
针对SQL数据集和集算器数据集的大数据优化,产品提供了大报表运算。该功能在报表展现性能上有了很大提升,把数据不断分批取出,存储到临时文件中。这样用外存来换取内存,从而大大提高了报表的预览速度,使得大报表运算和普通报表运算速度无异。
可用tag标签完成大报表的解析及运算,并按用户配置的属性要求将HTML文件流输出到客户端。
详细说明:
大报表在JSP文件中用<prefix:big>标签来发布,prefix是用户在JSP文件头
指定tag定义文件时指定的前缀名。该定义语句如下所示:
<%@taglib uri="/WEB-INT/raqsoftReport.tld" prefix="report" %>
此定义语句必须写在JSP的开头,其中prefix的值可以自己指定,但tag标签中的前缀必须与其保持一致。
然后在要发布报表的地方用上面介绍的tag标签来发布,如:
<report:big name=”…” reportFileName=”…” …./>
此标签的属性说明见下表:
(属性名都是大小写相关,属性值必须放在双引号中)
属性名 |
是否必填 |
属性含义 |
属性取值 |
缺省值 |
|
name |
是 |
报表在网页中的ID标识 |
符合变量命名规则的字符串,在本网页中应是唯一的 |
无 |
|
srcType |
否 |
报表源的类型 |
见注1 |
file |
|
reportFileName |
否 |
当报表源类型为file时,要发布的报表文件 |
报表文件名 |
无 |
|
beanName |
否 |
当报表源类型为defineBean或reportBean时,已保存到request中的bean的名称 |
符合变量命名规则的字符串,与保存报表源bean时的名称一致,且在整个WEB应用中应唯一 |
无 |
|
params |
否 |
报表所需要的参数 |
用户提交的参数值 |
无 |
|
saveAsName |
否 |
报表另存为Excel、PDF的文件名(不用带扩展名) |
文本 |
与报表同名 |
|
exceptionPage |
否 |
显示报表异常信息的JSP页面 |
页面相对于应用根目录的路径名 |
无 |
|
needScroll |
否 |
是否固定上表头和左表头 固定表头后,页面报表不分页,分页方式设置无效 |
yes或no |
no |
|
scrollWidth |
否 |
固定表头报表的显示宽度 |
整数,象素值 或者百分数,如80% |
600 |
|
scrollHeight |
否 |
固定表头报表的显示高度 |
整数,象素值 或者百分数,如80% |
400 |
|
scrollBorder |
否 |
固定表头报表的边框 |
HTML的边框表示法,如:“border:1px solid red”,“border-top: 1px solid blue; border-left: 1px solid green;……” |
无 |
|
contextName |
否 |
用bean的方式发布报表时,计算出报表bean时用的Context对象,存在request中的名称 |
存储在request中的名称 |
无 |
|
rowNumPerPage |
否 |
每页展现的数据行数 |
整数 |
20 |
|
fetchSize |
否 |
每次读取的数据行数 |
整数 |
200 |
|
theme |
否 |
编辑控件的外观主题风格 |
default,black,bootstrap,gray,metro |
default |
|
needImportEasyui |
否 |
是否需要引入easyui的js和css文件,如需修改easyui的主题风格可参考《润乾报表V2018应用开发教程》3.2.4小节 |
yes或no |
yes |
|
rowNumPerPrintPage |
否 |
大报表打印时每页数据行数 |
整数 |
默认与页面显示行数相同 |
|
rowNumPerExportPage |
否 |
大报表导出时每页数据行数 |
整数 |
默认与页面显示行数相同 |
|
exportExcelOneSheet |
否 |
导出Excel时是否将大报表导出到一个Sheet中 |
yes或no |
yes |
|
scale |
否 |
报表缩放显示比例 |
实数 |
1.0 |
|
paramCheck |
否 |
是否对禁用参数值做校验。 禁用参数值可通过在WEB-INF/raqsoftConfig.xml中的disallowedParamWordList 属性中配置 |
yes 或 no |
yes |
|
注1:srcType的取值:
(8) 如要发布的报表源为报表文件,其值为file。
(9) 如要发布的报表源为经过API处理的
com.raqsfot.report.model.ReportDefine对象,则其值为defineBean。
(10) 如要发布的报表源为经过API处理的
(11) com.raqsoft.report.usermodel.IReport对象,则其值为reportBean。