CN102541551B - 一种易用的页面报表设计方法和系统 - Google Patents
一种易用的页面报表设计方法和系统 Download PDFInfo
- Publication number
- CN102541551B CN102541551B CN201110441001.6A CN201110441001A CN102541551B CN 102541551 B CN102541551 B CN 102541551B CN 201110441001 A CN201110441001 A CN 201110441001A CN 102541551 B CN102541551 B CN 102541551B
- Authority
- CN
- China
- Prior art keywords
- page
- design
- control
- easy
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种易用的页面报表设计方法和系统,其中易用的页面报表设计方法主要包括以下步骤:S1、准备设计页集合,从外部获取设计页集合;S2、计算当前设计页数据;S3、生成展示页,根据设计页生成展示页,并将生成的展现页累积为展现页集合;S4、判断当前设计页是否为最后一张设计页,如果是,则转到步骤S5,否则取下一设计页为当前设计页,并转到步骤S2;S5、将步骤S3输出的展示页集合输出给外部,供外部展示、导出。本发明还提供一种易用的页面报表设计系统。实施本发明的一种易用的页面报表设计方法和系统,在报表开发中,可以实现多纸张页面布局,定位简单,设计原理简单,可以降低报表开发的复杂度,提高报表开发的效率。
Description
技术领域
本发明涉及,更具体地说,涉及一种易用的页面报表设计方法和系统。
背景技术
在企业应用开发任务中,报表开发是一项令设计人员痛苦但又必须面对的任务。如何降低报表开发的复杂度,提高报表开发的效率,降低报表设计人员的学习成本,成为了企业报表开发所需要解决的课题。现有典型的报表开发工具,例如:水晶报表(CrystalReport)等,使用的是段落式(Section)布局方案,以字段(Field)为最小设计单元的方案。段落式报表设计方案一般将整个设计报表分为报表头、页眉、页脚、详细资料和报表尾五个段落。报表设计者需要根据每个段落的特性和重复机制原理,在段落设计不同的元素,以在展现时也呈现出不同的布局,来满足报表开发设计的需求。段落式报表设计方案的主要缺点:(1)设计原理比较复杂,需要报表设计人员较高的学习成本,易用性不足。每个段落因为有不同的特性,导致在展现时呈现出不同的布局,需要报表设计人员去了解和学习每个段落的特性,需要报表设计人员具备有熟练的设计经验。(2)实现多纸张页面布局复杂度较高。段落式报表设计方案只针对一种纸张类型进行设计。要实现如图2所示的多纸张页面布局,具有先天不足性。段落式报表设计方案要实现多纸张布局的设计,只有通过设计不同的段落纸张类型和配合子报表方式来实现,实现难度很高。(3)布局定位麻烦。每个段落都有自己的垂直坐标系,段落共享水平坐标系。由于展现后的报表是以页为基本单位的,要在页里精确定位坐标,段落式设计方案处理起来不是很直观,只能通过计算各个节号的高度累加计算垂直高度;或者通过段落强制分页实现精确定位。实现在页内的精确坐标定位比较麻烦。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种可解决以上缺陷的易用的页面设计方法和系统。
本发明解决其技术问题所采用的技术方案是:构造一种易用的页面设计方法,分页引擎将从外部输入的设计页集合,进行内部整理、计算数据、生成展现页面直到显示所有展现页面,包括以下步骤:
S1、准备设计页集合,分页引擎的输入模块从外部获取设计页集合,将从外部获取设计页集合按页码从小到大进行排序,在每个设计页面内按位置坐标系从上到下、从左到右排序页面内部控件,同时标识分页式容器控件;
S2、计算当前设计页数据,分页引擎的计算模块根据当前设计页所包含的内部控件绑定数据集定义,从数据库或数据源执行数据查询获取数据,同时根据计算出的数据内容,计算出当前设计页扩展大小并保存;分页式容器控件计算内部数据内容,并保存内部控件计算后的大小;
S3、生成展示页,分页引擎的布局模块根据设计页生成展示页,并将生成的展现页累积为展现页集合;
S4、判断模块判断当前设计页是否为最后一张设计页,如果是,则转到步骤S5,否则取下一设计页为当前设计页,并转到步骤S2;
S5、分页引擎的输出模块将步骤S3输出的展示页集合输出给外部,供外部展示、导出。
在本发明的一种易用的页面报表设计方法中,所述步骤S3进一步包括:
S31、分页引擎的布局模块根据设计页的页面设置以及设计页内计算出来的数据内容,生成展现页面及其页面内部控件;分页式容器控件也计算出内部控件集合;
S32、分页引擎的布局模块根据计算出的控件大小、控件在设计页面内部的位置偏移,计算出控件在展现页面的位置,分页式容器控件也对内部控件进行此操作。
在本发明的一种易用的页面报表设计方法中,所述分页式容器控件包括垂直布局和水平布局,所述分页式容器控件内部结构包括数据区。
在本发明的一种易用的页面报表设计方法中,所述分页式容器控件内部结构还包括表头区和表脚区。
在本发明的一种易用的页面报表设计方法中,所述设计页包括正文区。
在本发明的一种易用的页面报表设计方法中,所述设计页还包括页眉区和页脚区。
本发明还提供一种易用的页面报表设计系统,包括:
输入模块,用于从外部获取设计页集合,将从外部获取设计页集合按页码从小到大进行排序,在每个设计页面内按位置坐标系从上到下、从左到右排序页面内部控件,同时标识分页式容器控件;
计算模块,与所述输入模块连接,用于根据当前设计页所包含的内部控件绑定数据集定义,从数据库或数据源执行数据查询获取数据,同时根据计算出的数据内容,计算出当前设计页扩展大小并保存;分页式容器控件计算内部数据内容,并保存内部控件计算后的大小;
布局模块,与所述计算模块连接,根据设计页的页面设置以及设计页内计算出来的数据内容,生成展现页面及其页面内部控件;分页式容器控件也计算出内部控件集合;及根据计算出的控件大小、控件在设计页面内部的位置偏移,计算出控件在展现页面的位置;
判断模块,与所述布局模块连接,用于当前设计页是否为最后一张设计页;
输出模块,与所述判断模块连接,用于布局模块输出的展示页集合输出给外部,供外部展示、导出。
在本发明的一种易用的页面报表设计系统中,所述分页式容器控件内部结构包括数据区,所述设计页包括正文区。
在本发明的一种易用的页面报表设计系统中,所述分页式容器控件内部结构还包括表头区和表脚区,所述设计页还包括页眉区和页脚区。
实施本发明的一种易用的页面报表设计方法和系统,具有以下有益效果:在报表开发中,可以实现多纸张页面布局,定位简单,设计原理简单,可以降低报表开发的复杂度,提高报表开发的效率。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的一种易用的页面报表设计方法流程图;
图2a、2b是本发明一种易用的页面报表设计方法的分页结构图;
图3是本发明的一种易用的页面报表设计方法中设计页结构图;
图4是本发明的一种易用的页面报表设计方法中分页式容器控件结构图;
图5是本发明的一种易用的页面报表设计方法中多纸张页面布局效果图;
图6是本发明的一种易用的页面报表设计系统框图。
具体实施方式
为了使本发明的目的更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明的一种易用的页面报表设计方法流程图,在本实施例中,分页引擎将从外部输入的设计页集合,进行内部整理、计算数据、生成展现页面直到显示所有展现页面,包括以下步骤:
S1、准备设计页集合,分页引擎的输入模块1从外部获取设计页集合,将从外部获取设计页集合按页码从小到大进行排序,在每个设计页面内按位置坐标系从上到下、从左到右排序页面内部控件,同时标识分页式容器控件;
S2、计算当前设计页数据,分页引擎的计算模块2根据当前设计页所包含的内部控件绑定数据集定义,从数据库或数据源执行数据查询获取数据,同时根据计算出的数据内容,计算出当前设计页扩展大小并保存;分页式容器控件计算内部数据内容,并保存内部控件计算后的大小;
S3、生成展示页,分页引擎的布局模块3根据设计页的页面设置以及设计页内计算出来的数据内容,生成展现页面及其页面内部控件;分页式容器控件也计算出内部控件集合;及根据计算出的控件大小、控件在设计页面内部的位置偏移,计算出控件在展现页面的位置,分页式容器控件也对内部控件进行此操作;
S4、判断模块4判断当前设计页是否为最后一张设计页,如果是,则转到步骤S5,否则取下一设计页为当前设计页,并转到步骤S2;
S5、输出模块5将步骤S3输出的展示页集合输出给外部,供外部展示、导出。
本发明使用页面式设计方案,设计时页面称为设计页面,报表设计人员可在设计页面上摆放控件进行设计;展现时称为展现页面,展现页面依据于设计页面的纸张大小和设计页面容纳的数据进行分页计算,并展现给报表设计人员。在设计页面中提供了分页式容器控件来满足多段式页面的实现。分页式容器控件分为表头区、数据区和表尾区。也提供了丰富的控件供报表设计人员进行设计,但不属于本次发明描述的重点,在此不再累述。
一个设计报表可以存在一个或者多个设计页,展示页根据设计页的纸张大小和内容生成,当其只有一种纸张设计类型时,其分页结果如图2a所示,图2a左边的框表示设计时的A4横向设计页,图2a右边的框表示分页之后展示时的A4横向展示页。
一个设计报表内也可以存在多种纸张类型的设计页面,以应对多种纸张类型报表的需求,其分页结果如图2b所示,图2b左边的框表示设计时的设计页有两种类型,即A4横向设计页和A3竖向设计页,图2b右边的框表示分页之后展示时的A4横向展示页和A3竖向展示页,在实际使用中,设计页还可以包括A4竖向设计页、A3横向设计页(图中未画出)。
每个设计页可分为页眉、正文和页脚三个区域,页眉页脚为可选区域,正文区为必选区。若选择页眉页脚区域,在每一页的头部和尾部都会展示页眉和页脚。正文区就是摆放正文数据的区域。设计页结构图如图3所示。
分页式控件是一种容器控件,可以包含任何类型的控件。分页式容器控件有两种布局方式:垂直和水平布局。分页式容器控件内部结构分为:表头区、数据和表脚区。表头区的作用是当分页计算控件内部内容时,如果超过多页却需要在每一页顶部或左边显示固定的数据,就需要使用表头区来展示数据;数据区放置需要显示的数据控件。表脚区和表头区的作用比较相似,只不过表脚区显示在页的尾部或右边。表头和表脚区是可选区域,数据区是必选区域。一个分页式容器控件只能有0-1个表头和表脚区,固定一个数据区。分页式控件的两种布局如图4所示,水平布局和垂直布局。
图5是本发明的一种易用的页面报表设计方法中多纸张页面布局效果图,实现多纸张布局,A4竖向、A4横向、A3竖向、A4横向。
如图6所示,是本发明的一种易用的页面报表设计系统框图,包括:
输入模块1,用于从外部获取设计页集合,将从外部获取设计页集合按页码从小到大进行排序,在每个设计页面内按位置坐标系从上到下、从左到右排序页面内部控件,同时标识分页式容器控件;计算模块2,与输入模块连接,用于根据当前设计页所包含的内部控件绑定数据集定义,从数据库或数据源执行数据查询获取数据,同时根据计算出的数据内容,计算出当前设计页扩展大小并保存;分页式容器控件计算内部数据内容,并保存内部控件计算后的大小;布局模块3,与计算模块连接,根据设计页的页面设置以及设计页内计算出来的数据内容,生成展现页面及其页面内部控件;分页式容器控件也计算出内部控件集合;及根据计算出的控件大小、控件在设计页面内部的位置偏移,计算出控件在展现页面的位置;判断模块4,与布局模块连接,用于当前设计页是否为最后一张设计页;输出模块5,与判断模块连接,用于布局模块输出的展示页集合输出给外部,供外部展示、导出。
每个设计页可分为页眉、正文和页脚三个区域,页眉页脚为可选区域,正文区为必选区。若选择页眉页脚区域,在每一页的头部和尾部都会展示页眉和页脚。正文区就是摆放正文数据的区域。
分页式控件是一种一种容器控件,可以包含任何类型的控件。分页式容器控件有两种布局方式:垂直和水平布局。分页式容器控件内部结构分为:表头区、数据和表脚区。表头区的作用是当分页计算控件内部内容时,如果超过多页却需要在每一页顶部或左边显示固定的数据,就需要使用表头区来展示数据;数据区放置需要显示的数据控件。表脚区和表头区的作用比较相似,只不过表脚区显示在页的尾部或右边。表头和表脚区是可选区域,数据区是必选区域。一个分页式容器控件只能有0-1个表头和表脚区,固定一个数据区。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种易用的页面报表设计方法,其特征在于,分页引擎将从外部输入的设计页集合,进行内部整理、计算数据、生成展示页直到显示所有展示页,包括以下步骤:
S1、准备设计页集合,分页引擎的输入模块(1)从外部获取设计页集合,将从外部获取设计页集合按页码从小到大进行排序,在每个设计页面内按位置坐标系从上到下、从左到右排序页面内部控件,同时标识分页式容器控件;
S2、计算当前设计页数据,分页引擎的计算模块(2)根据当前设计页所包含的内部控件绑定数据集定义,从数据库或数据源执行数据查询获取数据,同时根据计算出的数据内容,计算出当前设计页扩展大小并保存;分页式容器控件计算内部数据内容,并保存内部控件计算后的大小;
S3、生成展示页,分页引擎的布局模块(3)根据设计页生成展示页,并将生成的展示页累积为展示页集合;
S4、判断模块(4)判断当前设计页是否为最后一张设计页,如果是,则转到步骤S5,否则取下一设计页为当前设计页,并转到步骤S2;
S5、输出模块(5)将步骤S3输出的展示页集合输出给外部,供外部展示、导出。
2.根据权利要求1所述的易用的页面报表设计方法,其特征在于,所述步骤S3进一步包括:
S31、分页引擎的布局模块(3)根据设计页的页面设置以及设计页内计算出来的数据内容,生成展示页及其页面内部控件;分页式容器控件也计算出内部控件集合;
S32、分页引擎的布局模块(3)根据计算出的控件大小、控件在设计页面内部的位置偏移,计算出控件在展示页的位置,分页式容器控件也对内部控件进行此操作。
3.根据权利要求2所述的易用的页面报表设计方法,其特征在于,所述分页式容器控件包括垂直布局和水平布局,所述分页式容器控件内部结构包括数据区。
4.根据权利要求3所述的易用的页面报表设计方法,其特征在于,所述分页式容器控件内部结构还包括表头区和表脚区。
5.根据权利要求4所述的易用的页面报表设计方法,其特征在于,所述设计页包括正文区。
6.根据权利要求5所述的易用的页面报表设计方法,其特征在于,所述设计页还包括页眉区和页脚区。
7.一种易用的页面报表设计系统,其特征在于,包括:
输入模块(1),用于从外部获取设计页集合,将从外部获取设计页集合按页码从小到大进行排序,在每个设计页面内按位置坐标系从上到下、从左到右排序页面内部控件,同时标识分页式容器控件;
计算模块(2),与所述输入模块连接,用于根据当前设计页所包含的内部控件绑定数据集定义,从数据库或数据源执行数据查询获取数据,同时根据计算出的数据内容,计算出当前设计页扩展大小并保存;分页式容器控件计算内部数据内容,并保存内部控件计算后的大小;
布局模块(3),与所述计算模块连接,根据设计页的页面设置以及设计页内计算出来的数据内容,生成展示页及其页面内部控件;分页式容器控件也计算出内部控件集合;及根据计算出的控件大小、控件在设计页面内部的位置偏移,计算出控件在展示页的位置;
判断模块(4),与所述布局模块连接,用于判断当前设计页是否为最后一张设计页;
输出模块(5),与所述判断模块连接,用于布局模块输出的展示页集合输出给外部,供外部展示、导出。
8.根据权利要求7所述的易用的页面报表设计系统,其特征在于,所述分页式容器控件内部结构包括数据区,所述设计页包括正文区。
9.根据权利要求8所述的易用的页面报表设计系统,其特征在于,所述分页式容器控件内部结构还包括表头区和表脚区,所述设计页还包括页眉区和页脚区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110441001.6A CN102541551B (zh) | 2011-12-26 | 2011-12-26 | 一种易用的页面报表设计方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110441001.6A CN102541551B (zh) | 2011-12-26 | 2011-12-26 | 一种易用的页面报表设计方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102541551A CN102541551A (zh) | 2012-07-04 |
CN102541551B true CN102541551B (zh) | 2016-01-06 |
Family
ID=46348525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110441001.6A Active CN102541551B (zh) | 2011-12-26 | 2011-12-26 | 一种易用的页面报表设计方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102541551B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360826B (zh) * | 2014-12-10 | 2017-10-10 | 用友网络科技股份有限公司 | 报表自定义分页打印装置和方法 |
CN104572603B (zh) * | 2014-12-16 | 2018-04-27 | 东软集团股份有限公司 | 一种报表分页方法和装置 |
CN107301044B (zh) * | 2017-06-09 | 2021-02-19 | 广州慧扬健康科技有限公司 | 用于代谢病电子病历表单的多页控件 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038583A (zh) * | 2007-04-26 | 2007-09-19 | 孟为 | 黄金报表生成器及生成方法 |
CN101576873A (zh) * | 2008-05-08 | 2009-11-11 | 北京润乾信息系统技术有限公司 | 一种基于非线性报表生成方法的单元格扩展定位方法 |
CN101727436A (zh) * | 2008-10-29 | 2010-06-09 | 华为技术有限公司 | 一种报表数据处理方法、报表系统以及相关装置 |
-
2011
- 2011-12-26 CN CN201110441001.6A patent/CN102541551B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038583A (zh) * | 2007-04-26 | 2007-09-19 | 孟为 | 黄金报表生成器及生成方法 |
CN101576873A (zh) * | 2008-05-08 | 2009-11-11 | 北京润乾信息系统技术有限公司 | 一种基于非线性报表生成方法的单元格扩展定位方法 |
CN101727436A (zh) * | 2008-10-29 | 2010-06-09 | 华为技术有限公司 | 一种报表数据处理方法、报表系统以及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102541551A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101706821B (zh) | 基于标签的移动互联网页面设计系统及方法 | |
CN108039193A (zh) | 一种自动生成体检报告的方法及装置 | |
CN110032720A (zh) | 一种基于xml的可视化报告排版及自动生成方法及系统 | |
CN102289376A (zh) | 基于嵌入式的多语言web页面实现方法及系统 | |
CN103186612B (zh) | 一种词汇分类的方法、系统和实现方法 | |
CN105045775A (zh) | 一种指定格式的Excel文档生成方法及装置 | |
CN102541551B (zh) | 一种易用的页面报表设计方法和系统 | |
CN102982010A (zh) | 提取文档结构的方法和装置 | |
CN104063361A (zh) | 报表设计方法和报表设计系统 | |
CN104571978A (zh) | 一种基于html标签进行文档分页打印的方法 | |
CN104615751A (zh) | 一种报表文件生成方法及装置 | |
CN102591968B (zh) | 一种扩展表格的实现方法及扩展引擎 | |
CN110969004B (zh) | 图文自动排版方法及系统、服务器及介质 | |
CN106910107A (zh) | 一种促销页面配置方法及系统 | |
CN104915466A (zh) | 自动根据原理图分页布局的设计方法 | |
CN102707945A (zh) | 一种Eclipse基于布局模版的表单设计器的实现方法 | |
CN104572744B (zh) | 结构化文档生成方法和装置 | |
CN103020339A (zh) | 一种组合式汽车电路图的实现方法 | |
CN106484388A (zh) | 用户界面的实现方法和装置 | |
CN106156075B (zh) | 一种报表生成和展示的方法及装置 | |
CN112347742B (zh) | 基于深度学习生成文档图像集的方法 | |
CN105786987A (zh) | 一种页面配置方法和装置 | |
CN105630506B (zh) | 一种单据和单据模板的生成方法及相关装置 | |
CN103488619B (zh) | 一种用于进行文档文件处理的方法及装置 | |
CN104281575A (zh) | 一种网页数据获取方法及模版引擎 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |