润乾集算报表呈现输出之分页控制
润乾集算报表呈现输出之分栏显示

润乾集算报表呈现输出之分栏显示
报表应用中常常会遇到一些列数很少行数很多的报表,这种报表窄而长,显示和打印时,横向会留出大片空白,不但浪费张纸而且不美观,不方便用户查阅。
在集算报表中我们可以通过设置报表的分栏属性对报表进行纵向分栏,即在打印纸上横向布局多列报表,这样既美观又节约纸张,还方便浏览报表。
集算报表中设置报表分栏很简单,可以参考如下步骤:
新建报表
使用集算报表设计器新建一个只有两列的报表如下:
注意:如果想分栏后的报表标题居中,需要将标题行整行合并成一个格子,如上面的第一行。
如果报表不设置分栏,预览或打印报表的效果如下:
未分栏页面显示效果
未设置分栏打印预览效果
可以看到不设置分栏报表的显示效果非常不美观,下面设置分栏。
设置分栏
选择【属性】-【报表属性】菜单,在“分页”选项下,设置分栏数,如下:
预览并打印报表
报表在页面上预览可以看到设置分栏后的显示效果:
设置分栏后的打印效果:。
润乾集算报表呈现输出之表头重复

润乾集算报表呈现输出之表头重复
在报表展现或打印时为了便于查看数据,往往希望报表头在每页中重复出现。
润乾集算报表除了可以实现每页均重复同样的表头外,还可以实现分组表头重复,即当分组出现在多页时显示同一分组表头。
下面分别来看一下在集算报表中上述两种表头重复如何实现。
一般表头重复
使用集算报表开发时,如果希望分页报表的表头重复显示,只需要将表头的行类型设置为“报表头”即可。
如下图:
其第一行类型为:
这样,报表在展现或打印时表头就会在每页中重复,效果如下(页面展现):
第一页第二页
可以看到,一般表头重复在集算报表中实现非常简单,下面来看一下分组表头重复。
分组表头重复
所谓分组表头重复是指分组报表中当分组跨多页是,每页都能重复显示分组表头信息。
下面通过示例来说明实现过程。
报表如下,要求地区分组跨多页时每页都能显示地区信息:
设置第4行类型为:组表头,并设置组头级别为1。
如果有多行组表头,则组头级别从上到下应该为1、2、3…
报表在展现或打印时组表头即可重复,效果如下(页面展现):
第一页第二页
可以看到,当“华北”地区数据跨越第一第二页时,华北地区信息在第二页重复显示了,达到了组头重复的效果。
润乾集算报表开发多源分片报表

润乾集算报表开发多源分片报表使用润乾集算报表可以开发多源分片报表,在同一报表中的不同部分可以包含不同数据来源。
集算报表提供的扩展模型和主格模型让这类报表开发非常简单。
下面通过具体实例来来看一下多源分片报表的开发过程。
业务系统中的某类订单统计表中统计了多个维度订单情况,如下图示:该报表由多个独立的片区组成,且每个片区内的数据来源不尽相同。
这就是一个典型的多源分片报表。
使用集算报表制作步骤如下:连接数据源使用集算报表设计器,连接自带数据源DEMO。
设置数据集新建报表并设置数据集,由于数据来源不同,需要设置多个数据集。
各数据集SQL如下:ds1: SELECT 客户.地区,客户.城市,订单明细.数量,订单明细.折扣,订单明细.单价,订单.雇员ID,订单.订购日期,订单明细.产品ID FROM 订单明细,订单,客户WHERE 客户.客户ID = 订单.客户ID AND 订单.订单ID = 订单明细.订单ID and 订单.订购日期is not null and 客户.地区in ('华南','西南') and year(订单.订购日期)>=1998ds2: SELECT 类别.类别ID,类别.类别名称FROM 类别ds3:SELECT 雇员.雇员ID,订单明细.产品ID,雇员.职务,雇员.姓氏||雇员.名字as 姓名FROM 雇员,订单,订单明细WHERE 雇员.雇员ID = 订单.雇员ID AND 订单.订单ID = 订单明细.订单ID ORDER BY 订单.订购日期ASCds4: SELECT 产品.类别ID,产品.产品ID FROM 产品编辑报表表达式根据目标报表样式,分别设置每片区报表表达式。
其中:A1-E4按日期维度汇总了每个地区的销售额;A5-E6按销售人员维度汇总了每个地区的销售额;F1-G4按日期维度汇总了每类产品的销售额;F5-G6按销售人员维度汇总了每类产品的销售额。
润乾报表基本介绍[技巧]
![润乾报表基本介绍[技巧]](https://img.taocdn.com/s3/m/c4386b2530126edb6f1aff00bed5b9f3f90f7216.png)
润乾报表3.0介绍润乾报表3.0是用于统计报表制作及报表及数据填报的大型企业级工具软件。
产品首次成功解决了报表单元格与关系数据库之间的关联规律性,特别适合于中国式报表的填报和统计。
一、产品优势1.绘制方便润乾报表采用类EXCEL的绘制方式,真正做到所见即所得,把程序员从繁重且无聊的报表格式设置工作中解脱出来,极大的提高的表格绘制的方便度和效率,产品特有的EXCEL导入功能(包括格式)可充分利用业务人员原有积累。
2.数据模型先进润乾报表独创的数据模型首次成功地解决了中国报表中单元格与数据字段之间的弱关联性,彻底打破传统行式报表方案,报表行列完全对称,特有的层次扩展机制使多层分组及交叉报表制作非常简单,提供针对关联格的跨行跨组运算,很容易计算小计、同期比等数据。
同一报表中支持多个异构的数据源,允许报表各片之间无关,可用多个简单的数据集成组合出复杂报表,程序员无须再为每张报表编程(脚本或存储过程)或写复杂SQL准备数据。
3.输出能力丰富润乾报表每个单元格属性均提供条件控制,如颜色、行高、是否可见等均可与格内数据相关;支持代码显示值对应、多种数据格式、图片文件和图片字段的处理。
产品提供十几种各类统计图,支持PNG/GIF/JPG三种格式。
每张报表均可生成HTML、EXCEL、PDF三种输出格式(输出结果完全不失真,包括其内的统计图)。
单元格与统计图例均可加带参数的链接从而实现数据钻取功能,多层报表可在线收缩展开。
4.打印控制强大润乾报表提供强大的打印控制功能,按行数和纸张大小分页分栏或强制分页,表头自动重复(包括左表头),允许一张纸上打多个报表,提供末页补足空行。
可采用像素和毫米两种计量单位,独创的底图描绘功能以支持套打;5.集成性好润乾报表采用纯JAVA开发,利用服务器端提供丰富的API调用和标记可完全无缝地嵌入到基于J2EE的应用程序中(可看作应用程序员自己写的代码),程序员可更换报表的数据库连接和数据源、采用应用服务器的连接池管理;设计器也提供外置的数据源和数据字典定义,可由应用程序员提供这些信息。
润乾集算报表应用开发之Excel及PDF导出

2、读入报表 String reportFile = request.getSession().getServletContext().getRealPath("/reportFiles/" +report);
public class ExportToExcel extends HttpServlet {
/** * Constructor of the object. */
public ExportToExcel() { super();
}
/** * Destruction of the servlet. <br> */
}
/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals
to post. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */
润乾报表使用手册

润乾报表使用手册(总25页) -CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除报表使用手册XX股份有限公司中国济南目录1 概述..................................................错误!未定义书签。
2 安装..................................................错误!未定义书签。
准备好安装程序................................错误!未定义书签。
安装中的选项..................................错误!未定义书签。
授权文件配置..................................错误!未定义书签。
3 报表制作..............................................错误!未定义书签。
报表制作要求..................................错误!未定义书签。
制作一张报表的步骤............................错误!未定义书签。
启动报表设计器................................错误!未定义书签。
连接数据源....................................错误!未定义书签。
数据源对话框...............................错误!未定义书签。
编辑数据源.................................错误!未定义书签。
注意事项...................................错误!未定义书签。
设计报表格式..................................错误!未定义书签。
格式设计...................................错误!未定义书签。
润乾集算报表呈现输出之精确打印

润乾集算报表呈现输出之精确打印润乾集算报表提供了报表精准的打印控制方式,使得用户的报表可以精确地打印到纸张或镜像中。
集算报表打印属于Applet打印方式,用户在使用前应先安装JRE,如果在使用WEB报表打印时,本机未安装JRE,报表应用会提示用户下载并安装。
集算报表在打印控制上可以从两方面进行设置,一是报表的打印属性,二是报表打印预览中打印选项,下面分别来看一下。
打印属性设置报表模板编辑时,在设计器的菜单报表-报表属性中,可以找到报表打印属性的设置,如下图:纸张:纸张类型除了常见的纸张大小外,还可以自定义纸张,对于对纸张有特殊要求的用户将大有裨益。
纸张方向可以控制纵向或横向打印,对于报表列较宽,还需要将所有列打印在同一页纸上时非常有帮助。
打印缩放:集算报表提供按纸张进行缩放的选项,以便内容可以适应纸张大小,包括不缩放、与纸张等高和与纸张等宽。
注:1.如果在报表属性的分页标签下,选择了按行分页,则该报表不允许进行缩放打印。
2.如果报表行数或列数比较少,缩放后出现报表的宽度或高度大于给定纸张的宽度或高度而无法分页的情况,这时系统会在弹出提示消息后,自动将报表的打印缩放设置为"无"。
布局行/列数:布局行数:如果报表是按照行数分页的,那么一张打印纸上可能打印多页报表,该参数设定一张打印纸上纵向可以打印几排报表。
布局列数:如果报表是按照行数分页的,那么一张打印纸上可能打印多页报表,该参数设定一张打印纸上横向可以打印几排报表。
对于卡片式报表,可以在一张打印纸上布局多页报表,这样打印出来的报表不但美观,而且可以任意切割。
此外,还可以设置报表的打印次序(先行后列或先列后行),对齐方式等。
此外,如果报表包含背景图,还可以设置是否打印背景图。
打印预览设置除了在报表开发时控制打印属性,还可以在打印时(打印预览窗口)进行打印设置。
在设计器或WEB端进行打印时默认弹出打印预览窗口,如下图:打印比例:设置显示比例,根据报表的大小进行缩放。
20_深入了解润乾报表并发控制

润乾报表并发数解读润乾报表提供了两种并发控制方式,静态并发控制和动态并发控制。
静态并发以控制同时运算的报表个(张)数避免内存溢出;动态并发则是控制同时运算的单元格数,避免内存溢出的同时又能够让服务器资源得到高效利用。
以下将是对这两种并发控制方式的详细解读。
静态并发控制原理当用户访问时,首先检查当前任务数是否超过最大并发任务数,若没有,则允许任务运行,否则进行等待。
同时系统还需设定任务的最大等待数,在允许该任务等待之前,还会判断一下最大等待数是否超标,如果没有超标才能等待,如果超标了,则直接返回错误信息。
静态并发控制所控制的是同时计算的报表个数,其中包括:数据集运算、报表运算、分页三种,但是分页结束后往硬盘写缓存以及展现输出的过程没有算在并发内。
由于数据集取数已经算进并发了,所以最大等待数可以设置的大一些,因为不用再担心数据库连接池个数问题了。
但由于分页结束后往硬盘写缓存以及展现输出(生成HTML)的过程没有算在并发内,那在这两个阶段可能会出现内存溢出的情况,当有某个任务导致内存溢出时,理论上JVM 会立即释放这个任务占用的内存,但是别的任务还可以继续计算。
此时如果新任务继续访问,又会导致内存溢出,因此我们设置了一个内存溢出后的最大等待时间,一旦有内存溢出,必须等待这个时间后才能允许下一个任务访问。
配置相关配置包括:<config> <!-- 最大并发数--><name>maxConcurrentForReport</name><value>9</value></config><config> <!-- 最大等待数--><name>maxWaitForReport</name><value>99</value></config><config> <!-- 内存溢出后等待多长时间才允许新任务访问,以秒为单位--><name>maxWaitTimeForReport</name><value>30</value></config>遗留问题1.当用户发送了一个请求并等待时,如果此时把ie关闭或者转到其它网页,该任务还会继续等待,并最终执行运算,不会自行终止或关闭2.往硬盘写缓存的操作没有算进并发,因此如果出现这种情况:即某个报表的计算时间较短,但是写缓存的时间较长,此时如果模拟很多并发访问,会出现最终由于写缓存而导致的内存溢出,且极有可能由于JVM来不及回收而导致最终需要重起才能恢复。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
润乾集算报表呈现输出之分页控制
润乾集算报表提供了丰富的分页控制方式,以满足报表用户在不同情况下的需求,包括:按纸分页、按行分页、不分页、行后分页、列后分页等。
下面就集算报表的分页控制详细加以介绍。
按纸分页
按纸分页主要用于打印,也是集算报表默认的分页方式,报表在打印时按照报表设定的纸张(默认是A4)大小进行自动分页,超出纸张的部分会在下一页打印,这种分页方式适用于用户对一页纸上打印几条记录没有要求,希望记录数充满纸张时设置。
在“报表属性-分页”选项下可以设置报表分页方式为:按纸分页。
由于集算报表提供了多种纸张类型(包括自定义纸张),使用按纸分页可以满足对打印纸张有特殊要求的报表用户需求。
与上述描述一致,按纸分页的应用场景是为打印服务,设置按纸分页的报表打印预览时可以看到如下效果:
第一页 最后页
按行分页
有时报表除了打印还需要需要在WEB 上呈现,这时常常希望每页显示的固定指定行数的记录,按设定的每页显示的数据行数自动进行分页,超出设定的行数的数据在下一页。
在“报表属性-分页”选项下可以设置报表分页方式为:按行分页,并设置每页行数。
按行分页主要用于报表展现,在页面上每页显示固定行数,设置按行分页(每页10行)的报表在页面上预览可以看到如下效果:
第一页第二页
设置按行分页的报表最后打印时也可以得到固定行数的打印效果。
有时最后一页的数据较少,打印出来的最后一页明显比前几页会短一些,这时用户可能希望最后一页补足空行,此时就可以通过设置按行分页来完成。
补足空行除了设置按行分页(如每页10行)外,还需要在报表中新增一行并设置其首格表达式为:to(1,10-ds1.count()%10),并取消其首格“可视”属性。
不分页
除了按纸和按行分页,集算报表还可以不分页,报表在页面展现时有时希望所有信息展现在一页中,并通过页面滚动来查看所有报表信息。
在“报表属性-分页”选项下可以设置报表分页方式为:不分页。
与按行分页类似,不分页常用于报表页面展现,较大的报表设置不分页在页面上可以通过滚动条查看报表信息,在页面上查看如下:
行后分页
以上分页方式都是报表自动进行分页控制,但有时希望在报表中的指定行位置进行强制分页,这时就需要使用行后分页。
行后分页需要在报表设计器右侧的属性面板中设置:
使用行后分页与其他设置结合可以实现很多丰富的效果,常用于按组分页中,希望每一页正好呈现一个分组的内容,从而能清晰地分拆出各个组。
行后分页+自定义纸张还可以用于输出多SHEET页的EXCEL,具体实现可以参考【润乾
集算报表呈现输出之多表单EXCEL】。
值得一提的是,可以通过报表表达式控制行后分页,
所以在使用上比起先前的分页方式更加灵活。
设置按组行后分页的报表在页面上展现效果如下:
第7页 第8页
列后分页
在集算报表中行列对称,与行后分页类似,列后分页可以在指定列位置进行强制分页。
列后分页仍然可以通过表达式控制,设置列后分页也同样在报表设计器右侧的属性面板中:。