CN104281447A - 一种报表快速生成及发布的系统及其方法 - Google Patents

一种报表快速生成及发布的系统及其方法 Download PDF

Info

Publication number
CN104281447A
CN104281447A CN201410441534.8A CN201410441534A CN104281447A CN 104281447 A CN104281447 A CN 104281447A CN 201410441534 A CN201410441534 A CN 201410441534A CN 104281447 A CN104281447 A CN 104281447A
Authority
CN
China
Prior art keywords
report
component
data
module
layout
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.)
Granted
Application number
CN201410441534.8A
Other languages
English (en)
Other versions
CN104281447B (zh
Inventor
郭新波
胡牧
刘士进
蒋厚明
刘一田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
NARI Group Corp
Nari Information and Communication Technology Co
Original Assignee
State Grid Corp of China SGCC
Nari Information and Communication Technology Co
Nanjing NARI Group Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Nari Information and Communication Technology Co, Nanjing NARI Group Corp filed Critical State Grid Corp of China SGCC
Priority to CN201410441534.8A priority Critical patent/CN104281447B/zh
Publication of CN104281447A publication Critical patent/CN104281447A/zh
Application granted granted Critical
Publication of CN104281447B publication Critical patent/CN104281447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种报表快速生成及发布的系统及其方法,其运行在网络服务器上,有权限的用户可以随时通过浏览器接入进行报表设计及发布;该系统包括用于生成报表模板文件的报表设计器;用于报表模板文件进行解析的解析模块;用于组件中表达式和脚本进行计算并且对各个组件的大小位置和布局进行计算的计算模块;根据计算出的组件的具体位置,大小,属性完成组件的实质化收集,重新进行组装的渲染模块;将渲染得出的数据展现在页面上的展现模块。本发明用户通过设计模块完成报表设计之后,发布在服务器上,即可通过浏览器浏览到最终的报表,此报表可以以url的形式集成到其他的业务系统中。此系统具有设计快速,发布方便,集成简单的特点。

Description

一种报表快速生成及发布的系统及其方法
  
技术领域
  本发明涉及一种报表快速生成及发布的系统及其方法,尤其是基于flash设计器的报表绘制及生成的系统及方法。 
  
背景技术
大型企业各项经营信息繁琐,分散在各个部门,企业总部为实现经营分析目的,需要从各个部门分别收集信息再分类汇总,最后编制经营分析报表,浪费大量人力、财力及时间。尤其是企业的组织结构经常发生变动,使得分散在各部门的信息更加不易管理,报表往往要不间断的更新,并且决策类报表有时往往要求很短的时间内提供。熟悉业务的人往往不懂报表设计,懂报表设计的人往往不熟悉业务,沟通成本极高。因此,当代主流报表都更加注重操作简单和快速上线两个关键点,操作简单,让懂业务的人直接参与完成报表设计,快速上线,则能让决策层第一时间得到最新的数据分析报表。 
国内主流报表都极好的解决了报表设计步骤复杂的问题,有些报表采用excel表格的方式来生成报表,有些则采用组件拖拽+表格布局的方式,属性也更加的多样,同时支持大量的函数和表达式以支持更加复杂的计算,多年的发展让他们的界面操作更加友好和精细。但是很多报表都是基于客户端软件来设计,业务人员必须安装软件之后才能进行操作,在快速上线方面,许多报表系统都存在着各类集成复杂的问题,报表生成之后,设计界面复杂设计报表周期长,上线周期长,与企业系统融合困难,上线困难等问题直接阻碍业务人员的使用。 
发明内容
针对现有技术存在的不足,本发明的目的在于实现一种基于浏览器的在线设计的报表快速生成及发布的系统及其方法,采用拖拽报表元素的方式完成报表设计,报表保存在服务器中,以url方式快速集成到其他业务系统上线,客户通过浏览器访问该报表时,服务器完成所有的数据收集和计算,将最终的效果展现给客户。 
为了实现上述目的,本发明是通过如下的技术方案来实现: 
一种报表快速生成及发布的系统,其特征在于,包括以下模块:
报表设计器,用于对报表组件进行布局,设定数据源及数据集,设置报表组件属性,生成报表模板文件,并将报表模板文件存储在数据库中;
解析模块,读取报表模板文件并解析各个报表元素,解析出其中包含报表组件,及其每一个组件的属性,并根据模板文件中数据源及数据集信息到指定的数据库获取对应的数据;
计算模块,用于获取报表组件中的表达式及脚本,逐一进行计算,完成各个报表元素的属性值计算,并将计算结果返回给各个报表组件; 
渲染模块,根据计算模块计算的数据重新设置各个报表组件的属性,进行报表的重新组装,完成各个报表元素的重新组装和布局;
展现模块,用于对渲染模块得到报表在页面上进行展示,呈现出最终的报表效果。
进一步的,所述报表设计器提供的报表组件包括布局组件,数据组件以及独立元素组件;所述布局组件包括页眉、页脚、数据首、数据区、数据尾、分组首、分组尾、面板、表格;所述数据组件包括数据源连接、数据集、参数、合计;所述独立元素组件包括文本框、图片、图表、交叉表、复选框;所述报表组件均通过鼠标拖拽的方式进行绘制和布局。 
进一步的,设计器生成的报表模板文件以XML文件的方式,记录所有报表元素的属性及归属关系。 
作为优选,所述解析模块从数据库中获取模板文件,并解析XML中的各个报表元素,完成数据获取。 
作为优选,上述展现模块的展示格式包括flash和html形式。 
一种报表快速生成及发布的方法,其方法步骤如下: 
(1)生成报表模板文件;通过表格设计器的拖拽组件对报表组件进行布局,设定数据源及数据集,设置组件属性,生成报表模板文件;将模板文件存储在数据库中;
(2)读取报表模板文件并解析;当用户预览报表时,通过解析模块读取报表模板文件并解析,并根据模板文件中数据源及数据集信息到指定的数据库获取数据;
(3)完成各个报表元素的属性值计算;获取报表组件中的表达式及脚本,逐一各个报表元素的属性值进行计算,并将计算结果返回给各个报表组件;
(4)完成各个报表元素的重新组装和布局;根据步骤(3)计算的数据重新设置各个报表组件的属性,进行报表的重新组装,完成各个报表元素的重新组装和布局;
(5)展现最终的报表效果;用户获取报表地址,将自己设计的报表集成到自己系统中,展现出最终的报表效果。
本发明运行在网络服务器上,有权限的用户可以随时通过浏览器接入进行报表设计及发布,设计部分主要由报表设计器组成,拥有大量的报表设计组件,采用条带式布局,通过拖拽组件的方式完成报表整体设计,通过组件的属性更改来完成细节上的处理,最终生成对应的报表模板文件,并将其保存在服务器中;完全的自由设计,不受表格约束,与企业集成方式简单,只需要一个访问地址即可接入,用户通过设计模块完成报表设计之后,发布在服务器上,即可通过浏览器浏览到最终的报表,此报表可以以url的形式集成到其他的业务系统中;其具有设计快速,发布方便,集成简单的优点;当用户预览报表时,服务器通过解析,计算,渲染等模块来得到实际的报表,以html和flash两种形式展现报表;企业系统仅需集成一个报表访问地址,即可将设计的报表集成到系统中。 
附图说明: 
图1是本发明实施例提供的方法的流程图。
图2是本发明的各模块之间的连接示意图。 
具体实施方式: 
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参见图1和图2,本实施例提供的是一种报表快速生成及发布的系统和方法,其运行在网络服务器上,有权限的用户可以随时通过浏览器接入进行报表设计及发布。该系统包括设计和展现两大部分。 
设计模块主要由报表设计器组成,拥有大量的报表设计组件,采用条带式布局,通过拖拽组件的方式完成报表整体设计,通过组件的属性更改来完成细节上的处理,最终生成对应的报表模板文件,并将其保存在服务器中。 
展现部分包括解析模块,计算模块,渲染模块以及展现模块组成。解析模块用于报表模板文件的解析,解析出其中包含报表组件,及其每一个组件的属性,连接数据库,获取对应的数据;计算模块主要用于组件中表达式和脚本进行计算,如求和,最大值,最小值等等,并且对各个组件的大小位置和布局进行计算;渲染模块根据计算出的组件的具体位置,大小,属性完成组件的实质化收集,重新进行组装;展现模块是将渲染得出的数据展现在页面上,展现模块包含flash 和 html 页面两种展现方式。用户通过设计模块完成报表设计之后,发布在服务器上,即可通过浏览器浏览到最终的报表,此报表可以以url的形式集成到其他的业务系统中。此系统具有设计快速,发布方便,集成简单的特点。 
本实施例中,实现报表快速生成及发布的方法,其方法如下: 
(1)通过设计器的拖拽组件对报表组件进行布局,设定数据源及数据集,设置组件属性,生成报表模板文件;将模板文件存储在数据库中;
(2)当用户预览报表时,通过解析模块读取报表模板文件并解析,并根据模板文件中数据源及数据集信息到指定的数据库获取数据;
(3)通过计算模块完成各个报表元素的属性值计算;通过渲染模块完成各个报表元素的重新组装和布局;
(4)通过展现模块呈现出最终的报表效果,用户只要获取报表id,就很方便的将自己设计的报表集成到他们的系统中。
两种形式的访问同时还支持报表导出,导出格式包括word,pdf,excel 三种,方便业务人员离线保存报表文件。种形式的访问还支持在线打印,flash精确打印。 
为更详细阐述本发明,本实施例的具体方法步骤如下: 
第一步:通过报表管理模块打开报表设计器;
报表管理模块是报表服务器提供给用户的访问门户,可以进行报表组和单个报表的新增、修改,删除等操作,还可以对全局数据源进行管理。
对于单独报表,页面管理提供“设计”和“预览”两项功能,点击“设计”按钮,打开报表设计器进行报表设计;点击“预览”按钮,可以观察页面报表效果。 
第二步:通过报表设计器设计报表 
报表设计器提供的报表组件包括布局组件,数据组件,独立元素组件。
布局组件包括“页眉”、“页脚”,“数据首”,“数据区”,“数据尾”,“分组首”,“分组尾”,“面板”,“表格”。 
数据组件包括“数据源连接”,“数据集”,“参数”,“合计” 
独立元素组件包括“文本框”,“图片”,“图表”,“交叉表”,“复选框”。
以下是对于三类组件的简单介绍: 
A1:布局组件
A101:“页眉”和“页脚”,通常显示文档的附加信息,常用来插入时间、日期、页码、单位名称、微标等。其中,页眉在页面的顶部,页脚在页面的底部。通常页眉也可以添加文档注释等内容。
A102:“数据首”,通常位于“数据区”上方,通常显示数据区的列名,还有其他一些固定文本信息也可以在此展示。 
A103:“数据区”,是报表最核心的组件,用于循环展示报表中的各个元素,循环次数依赖于绑定的数据集的条数,纵向扩展显示。 
A104:“数据尾”,通常位于“数据区”下方,通常用于展示“合计”或者其他固定的文本信息。 
A105:“分组首”,用于分组报表元素字段,分组首中可以设置分组条件,通常为联合表中的某个字段,按照此字段分组,然后数据区逐组展示数据。 
A106:“分组尾”,用于分组数据展示完毕之后,显示一些固定的文本信息或者变量信息。 
A107: “面板”,单纯的布局组件,可以将报表空余部分进行整体切割划分,在行对其方面有其独特的优势,可以自动伸展和收缩,专为复杂的样式布局而准备。 
A108: “表格”,表格组件,是对“文本框”组件的补充,可以迅速插入一个表格已完成排版和布局,插入一次表格,即可形成多个排列整齐的文本框,而且可以对其中的文本框拉伸,别的文本框随之而动,调整方式简单。 
B1:数据组件 
B101:数据源连接组件,具有新建,删除,编辑功能。数据源分为私有和全局数据源两种,私有数据源为单独报表享有,全局数据源为所有的报表共享使用,全局数据源一次更改,即可影响到所有使用此数据源的报表。
报表的数据源支持多种类型,包括oracle,mysql,sqlserver ,db2,金仓,达梦. 
报表为上述每种数据源都提供对应的驱动包。
数据源连接组件还提供了“测试连接”功能,可以通过测试,得知设置的信息是否正确。 
B102:数据集组件,具有新增,修改,删除功能。数据集是收集数据信息的主体承担组件,新建数据集对话框中,提供sql查询编写框,输入对应的查询数据,即可浏览到对应字段和数据,同时还支持参数来查询,预览的合适数据的时候,即可保存数据集。 
B103:参数组件,具有新增,修改,删除功能。参数组件提供了多种形式的参数类型,包括String,Number,Boolean,datetime 。参数的来源有三种方式,分别是“手工输入”,“列表框”,“数据库”。 
B104:合计组件,具有新增,修改,删除功能。合计组件主要提供某一区域的数据提供合计,最大值,最小值,平均值,计数等功能,报表对于这些数据的需求量很大。 
C1:独立元素组件 
C101:“文本框”组件,作为报表最核心的元素,文本框几乎承担了80%以上的数据展示。文本框的值可以是固定字符串,数据集的某个字段,合计值,参数值,或者是上面几种值的组合表达式,基本上可以获取各类数据。
文本框的属性中,包含对字体的设置,可以设置字体样式,水平,垂直位置,文本格式等,其中“文本格式”包括常规,数字,货币,日期,时间,百分数,布尔值等多种格式。 
文本框的属性中,可以对边框进行设置,边框颜色,粗细,样式等。 
文本框的属性中,可以设置回填,回填操作是后期客户最主要的操作之一,能够直接更改数据库中对应字段的值,回填属性可以设置回填字段,回填条件等。 
文本框的属性中,可以填写执行脚本,执行脚本是用javascript编写,支持此类型的编译,可以让服务器计算更加复杂的程序,大大增加了文本框值获取的灵活性。 
文本框的属性中,可以设置布局调整方式,包括支持自动换行,自动宽度,容器高度等,其中设置容器高度之后,整行文本框都会保持一致的高度,有利于排版,自动宽度则是随着文本框内字符的多少而进行横向扩展,自动换行则是随着文本框内字符的多少纵向扩展。 
C102:“图片”组件,可以从本地插入一张图片到报表,也可以指定数据集中图片字段到此位置。图片组件的属性中,可以设置放大倍数,透明度、图像旋转度数,长宽比,拉伸,其中选择拉伸,可以让图片填充到整个组件大小,长宽比可以重新修改图片的长宽比例,放大倍数可以放大图片或者缩小图片。 
C103: “图表”组件,是报表图形化展示最核心的组件,可以提供柱形图,条形图,折线图,面积图五种图形,并且这几种图形可以两两组合形成双轴图表。图表的X和Y轴与数据集中的字段进行绑定,图形用于展示数值差异,美观而且实用。图表组件可以提供图表联动功能,即点击第一张图表的某个位置,可以展现第二张图表对应的数据。 
C104:“交叉表”组件,交叉表是此报表系统专为中国式复杂报表提供的设计组件,能够提供行和列两个方向的同时分组,进行数据统计展现。交叉表还提供了行列方向上的合计功能,统计值可以为合计值,平均值,最小值,最大值,计数值等等。交叉表组件还提供了多维分组方式,即行和列方向上可以更加多个字段进行多层次分组。 
C105:“复选框”组件,为勾选类数据提供组件支持。 
设计报表分为以下三个过程: 
(一)通过布局组件进行整个报表的样式布局。
(二)通过数据组件设置报表获取数据的来源,筛选方式,统计方式。 
(三)通过独立元素组件填充报表内容,将数据插入到报表的对应位置上。 
(四)通过步骤即可完成报表设计,并且将各个组件记录在报表模板xml文件中。 
第三步:通过设计器的预览功能预览报表效果 
报表设计完成之后,是需要立即知道实际效果的,直接上线则可能出现较大偏差。报表设计器也提供了预览功能,观看报表最终产生的效果。
报表预览效果的生成通过以下四个模块完成,分别为解析模块,计算模块,渲染模块,展现模块,其中前三个模块都是运行在后台java服务器上,展现模块运行在前台。下面分别对四个模块简要介绍: 
解析模块:解析模块首先对报表模板xml文件进行解析,分离出报表包含的各个报表组件,解析过程如下:
1.       从xml文件中,解析顶层元素page;
2.       在page中,解析查找所有的数据源信息,并且建立服务器与对应数据库的连接;
3.       根据数据集信息,报表服务器获取相应的数据;
4.       解析查找所有的布局组件,并生成对应的实例;
5.       在布局组件中,解析查找所有的独立元素组件,诸如文本框,图片等,生成对应的实例,并存储于对应的布局组件实例中。
计算模块:计算模块用于计算报表各组件的大小,位置,属性,实际数值等,主要计算步骤如下: 
1.       从page开始,首先对“页眉”,“页脚”的高度进行计算
2.       对“数据首”,“数据尾”,“分组首”,“分组尾”进行计算,这些组件的高度相对固定,计算难度低
3.       对“数据区”进行计算,“数据区”组件通常会包含大量“文本框”组件,并且会依赖于绑定的数据集循环展现其中的文本框,因此,数据区的大小依赖于文本框的大小。
4.       对“文本框”组件进行计算,包含两部分,一是对文本框绑定值的计算,二是对文本框大小的计算。文本框绑定值如果是数据集字段,直接获取即可,如果是表达式,则要送到表达式计算模块计算,如果是脚本,则需要送到脚本计算模块计算;文本框大小依赖于文本框绑定值字符数的大小,字符越多,占用的空间就越大,如果选择“自动宽度”,则会进行横向扩展,如果选择“自动换行”属性,则会进行纵向扩展,大小随之而动。 
5.       “文本框”不断扩展“数据区”,当“数据区”联合其他布局组件占满一页时,就会产生新的页面,从第一步开始重新计算。 
6.       其他独立元素组件通常放在最后计算,计算相对独立,不会影响到其他组件。 
渲染模块:渲染模块会产生一个过渡报表实例,此实例可以向html,excel,word等其他形式转化,渲染过程如下: 
1、新建过渡报表实例;
2、搜索原有的组件实例,将计算模块计算出的数据赋予对应的组件实例,生成新的组件实例;
3、将新的组件实例插入到过渡报表实例中。
展现模块:展现模块是根据过渡报表实例生成不同的展现方式,有flash,html,world,excel,pdf 等格式的展现方式。其中以html 和 flash 作为最常见的两种在线展现方式,word,excel,pdf 则以离线保存的方式为主。报表设计器中的预览效果就是以flash形式展现的,服务器在将过渡报表的计算结果返回设计器,设计器将过渡报表实例转化为flash形式展现。 
第四步:保存报表 ; 
设计人员在设计报表时,所使用的每一个报表组件,都会被记录在报表模板xml文件中,报表组件的大小,位置及其他属性都会写入到xml文件中,设计完成之后,预览报表无误,点击保存,系统会将报表模板xml文件保存到数据库中,并产生唯一的一个模板ID。
第五步:快速上线报表; 
当业务系统需要集成报表时,只需要将报表访问的url地址写入即可,url中携带报表模板ID参数,访问指定的报表。
报表服务器提供两类浏览效果访问方式,一类是以flash形式展现报表,一类是html形式展现报表。flash形式画面更加精致,打印更准确,但对于浏览器插件有一定依赖,而且占用浏览器内存;html 展现方式则更加灵活,并且支持数据回填。 
本发明的具体实施按照图1所示流程进行,下面以某业务系统中的报表设计到上线过程为例,描述该流程中的各步骤。 
1、       通过浏览器访问报表管理模块,新建报表; 
2、       打开报表设计器,拖拽报表布局组件,设置数据源和数据集,拖拽独立元素组件完成细节设计。
3、       通过报表设计器的预览功能,看报表是否符合预期。 
4、       重复步骤2和3,到报表符合预期为止,生成报表模板xml文件,保存报表。 
5、       获取报表模板唯一标识ID,拼凑url访问地址。 
将url访问地址集成到业务系统中,即可完成集成上线。 
本发明有权限的用户通过浏览器即可接入报表设计器,多个用户可以协同工作,来完成报表设计。报表设计器采用良好的flash交互动画操作,设计器包含布局组件,数据组件,独立组件三类组件,分别完成布局,数据设置,细节设计工作,通过各类组件的属性增加更多的动作特效。当用户预览报表时,服务器通过解析,计算,渲染等模块来得到实际的报表,以html和flash两种形式展现报表。企业系统仅需集成一个报表访问地址,即可将设计的报表集成到系统中,。此系统具有设计快速,发布方便,集成简单的特点。 
本发明无需安装任何客户端软件,有权限的人员随时通过浏览器访问报表设计器来设计报表,通过拖拽组件来完成精确设计,完全的自由设计,不受表格约束,与企业集成方式简单,只需要一个访问地址即可接入,具有设计简洁,集成简单,快速上线的特点;解决了当前很多报表系统都存在设计界面复杂,设计报表周期长,与企业系统融合困难,上线周期长的问题。并通过更加友好的flash设计器来设计报表,通过url这种简单的方式与企业系统集成,解决了以上企业报表的问题。 
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。 

Claims (10)

1.一种报表快速生成及发布的系统,其特征在于,包括以下模块:
报表设计器,用于对报表组件进行布局,设定数据源及数据集,设置报表组件属性,生成报表模板文件,并将报表模板文件存储在数据库中;
解析模块,读取报表模板文件并解析各个报表元素,解析出其中包含报表组件,及其每一个组件的属性,并根据模板文件中数据源及数据集信息到指定的数据库获取对应的数据;
计算模块,获取报表组件中的表达式及脚本,逐一进行计算,完成各个报表元素的属性值计算,并将计算结果返回给各个报表组件;
渲染模块,根据计算模块计算的数据重新设置各个报表组件的属性,进行报表的重新组装,完成各个报表元素的重新组装和布局;
展现模块,用于对渲染模块得到报表在页面上进行展示,呈现出最终的报表效果。
2.根据权利要求1所述的报表快速生成及发布的系统,其特征在于,
所述报表设计器提供的报表组件包括布局组件,数据组件以及独立元素组件;
所述布局组件包括页眉、页脚、数据首、数据区、数据尾、分组首、分组尾、面板、表格;
所述数据组件包括数据源连接、数据集、参数、合计;
所述独立元素组件包括文本框、图片、图表、交叉表、复选框;
所述报表组件均通过鼠标拖拽的方式进行绘制和布局。
3.根据权利要求1所述的报表快速生成及发布的系统,其特征在于,设计器生成的报表模板文件以XML文件的方式,记录所有报表元素的属性及归属关系。
4.根据权利要求3所述的报表快速生成及发布的系统,其特征在于,所述解析模块从数据库中获取模板文件,并解析XML中的各个报表元素,完成数据获取。 
5.根据权利要求1所述的报表快速生成及发布的系统,其特征在于,上述展现模块的展示格式包括flash和html形式。
6.一种报表快速生成及发布的方法,其特征在于,其方法步骤如下:
(1)生成报表模板文件;对报表组件进行布局,设定数据源及数据集,设置组件属性,生成报表模板文件;将模板文件存储在数据库中;
(2)读取报表模板文件并解析;当用户预览报表时,通过解析模块读取报表模板文件并解析,并根据模板文件中数据源及数据集信息到指定的数据库获取数据;
(3)完成各个报表元素的属性值计算;获取报表组件中的表达式及脚本,逐一各个报表元素的属性值进行计算,并将计算结果返回给各个报表组件;
(4)完成各个报表元素的重新组装和布局;根据步骤(3)计算的数据重新设置各个报表组件的属性,进行报表的重新组装,完成各个报表元素的重新组装和布局;
(5)展现最终的报表效果;用户获取报表地址,将自己设计的报表集成到自己系统中,展现出最终的报表效果。
7.根据权利要求6所述的方法,其特征在于,所述步骤(2)中,首先对报表模板xml文件进行解析,分离出报表包含的各个报表组件,该解析方法如下:
(a)从xml文件中,解析顶层元素page;
(b)在page中,解析查找所有的数据源信息,并且建立服务器与对应数据库的连接;
(c)根据数据集信息,报表服务器获取相应的数据;
(d)解析查找所有的布局组件,并生成对应的实例;
(e)在布局组件中,解析查找所有的独立元素组件,生成对应的实例,并存储于对应的布局组件实例中。
8.根据权利要求6所述的方法,其特征在于,所述步骤(4)中,完成各个报表元素的重新组装和布局的具体步骤如下:
(401)新建过渡报表实例;
(402)搜索原有的组件实例,将步骤(3)计算出的数据赋予对应的组件实例,生成新的组件实例;
(402)将新的组件实例插入到过渡报表实例中。
9.根据权利要求6所述的方法,其特征在于, 所述步骤(3)中,各个报表元素的属性值进行计算,用于计算报表各组件的大小,位置,属性以及实际数值,该计算方法步骤如下:
(A)从page开始,首先对“页眉”,“页脚”的高度进行计算;
(B)对“数据首”,“数据尾”,“分组首”,“分组尾”进行计算;
(C)对“数据区”进行计算,“数据区”组件通常会包含大量“文本框”组件,并且会依赖于绑定的数据集循环展现其中的文本框;
(D)对“文本框”组件进行计算,包含两部分:
一是对文本框绑定值的计算;文本框绑定值如果是数据集字段,直接获取即可;
如果是表达式,则要送到表达式计算模块计算;
如果是脚本,则需要送到脚本计算模块计算;
二是对文本框大小的计算;
文本框大小依赖于文本框绑定值字符数的大小,字符越多,占用的空间就越大,如果选择“自动宽度”,则会进行横向扩展,如果选择“自动换行”属性,则会进行纵向扩展;
(E)“文本框”不断扩展“数据区”,当“数据区”联合其他布局组件占满一页时,就会产生新的页面,从步骤(A)开始重新计算;
(F)其他独立元素组件放在最后计算,计算相对独立。
10.根据权利要求6所述的方法,其特征在于,所述步骤(5)中,展展现最终的报表效果是根据过渡报表实例生成不同的展现方式,该展现方式包括flash,html,world,excel,pdf 的格式展现;其中以html 和 flash 作为在线展现方式,word、excel,、df 则以离线保存的方式;报表设计器中的预览效果就是以flash形式展现的,服务器在将过渡报表的计算结果返回报表设计器,报表设计器将过渡报表实例转化为flash形式展现。
CN201410441534.8A 2014-09-01 2014-09-01 一种报表快速生成及发布的系统及其方法 Active CN104281447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410441534.8A CN104281447B (zh) 2014-09-01 2014-09-01 一种报表快速生成及发布的系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410441534.8A CN104281447B (zh) 2014-09-01 2014-09-01 一种报表快速生成及发布的系统及其方法

Publications (2)

Publication Number Publication Date
CN104281447A true CN104281447A (zh) 2015-01-14
CN104281447B CN104281447B (zh) 2017-10-10

Family

ID=52256354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410441534.8A Active CN104281447B (zh) 2014-09-01 2014-09-01 一种报表快速生成及发布的系统及其方法

Country Status (1)

Country Link
CN (1) CN104281447B (zh)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615725A (zh) * 2015-02-09 2015-05-13 武汉众联信息技术股份有限公司 一种基于Web的在线自定义报表实现方法
CN104765844A (zh) * 2015-04-16 2015-07-08 北京京东尚科信息技术有限公司 一种网站页面的生成方法和装置
CN105159997A (zh) * 2015-09-08 2015-12-16 深圳禧金信息技术有限公司 报表处理方法及报表处理系统
CN105589840A (zh) * 2015-12-15 2016-05-18 重庆腾帆科技有限公司 一种通用excel/pdf报表导出组件
CN105607800A (zh) * 2015-12-17 2016-05-25 广东欧珀移动通信有限公司 一种终端屏幕输入显示的方法及装置
CN106055535A (zh) * 2016-06-02 2016-10-26 深圳市中润四方信息技术有限公司 一种图表生成方法及装置
CN106447275A (zh) * 2015-08-06 2017-02-22 兰州华强信息技术有限公司 一种报表系统
CN106446035A (zh) * 2016-08-31 2017-02-22 南威软件股份有限公司 一种呈批单的自定义设计系统及方法
CN106469140A (zh) * 2015-08-17 2017-03-01 朗新科技股份有限公司 一种报表生成系统及其方法
CN106776498A (zh) * 2016-12-09 2017-05-31 山东浪潮商用系统有限公司 一种数据导出为pdf的方法
CN107122185A (zh) * 2017-04-21 2017-09-01 国网福建省电力有限公司 一种针对配电网参数类信息可视化展现方法
CN107203506A (zh) * 2017-06-06 2017-09-26 山东浪潮通软信息科技有限公司 一种报表生成方法及装置
CN107391467A (zh) * 2017-06-08 2017-11-24 北京小度信息科技有限公司 报表组件布局信息处理方法及装置
CN107491427A (zh) * 2017-06-08 2017-12-19 北京小度信息科技有限公司 数据报表处理方法及装置
CN107704479A (zh) * 2017-02-08 2018-02-16 上海壹账通金融科技有限公司 文件生成方法和装置
CN107861926A (zh) * 2016-12-28 2018-03-30 平安科技(深圳)有限公司 单证模板配置方法及装置
CN107943436A (zh) * 2017-12-05 2018-04-20 浪潮金融信息技术有限公司 费用清单打印方法及装置、计算机可读存储介质、终端
CN107977351A (zh) * 2017-12-28 2018-05-01 平安科技(深圳)有限公司 电子报表生成方法、装置、计算机设备及存储介质
CN108052676A (zh) * 2017-12-28 2018-05-18 广东金赋科技股份有限公司 多数据源数据的配置方法及装置
CN108062298A (zh) * 2018-01-02 2018-05-22 武汉斗鱼网络科技有限公司 图表数据生成方法、装置及可读存储介质
CN108494668A (zh) * 2018-04-03 2018-09-04 北京京东尚科信息技术有限公司 一种执行邮件任务的方法和装置
CN108595397A (zh) * 2018-04-09 2018-09-28 重庆塞尔特科技有限公司 一种自动生成报告的方法
CN108717430A (zh) * 2018-05-11 2018-10-30 重庆工商职业学院 一种大数据分析的网页报表生成方法及系统
CN108885613A (zh) * 2016-09-26 2018-11-23 浙江核新同花顺网络信息股份有限公司 报表显示系统及方法
CN109343848A (zh) * 2018-09-18 2019-02-15 西安葡萄城信息技术有限公司 一种网页设计方法及系统
CN109800397A (zh) * 2017-11-16 2019-05-24 北大方正集团有限公司 数据分析报告自动生成方法、装置、计算机设备和介质
CN110020307A (zh) * 2017-11-30 2019-07-16 阿里巴巴集团控股有限公司 一种客户端视图的绘制方法和装置
CN110222236A (zh) * 2016-06-06 2019-09-10 福建榕基软件股份有限公司 Xml报文模板的生成及更新方法及其系统
CN110717320A (zh) * 2019-10-11 2020-01-21 上海管和信息科技有限公司 适用于多平台的表单/报表设计器、方法及信息化管理系统
CN110717322A (zh) * 2019-10-10 2020-01-21 湖南舞龙软件开发有限公司 一种质量监测分析原始记录表的通用生成方法
CN112100991A (zh) * 2019-05-30 2020-12-18 北京奇虎科技有限公司 数据报表生成方法及装置
CN112199928A (zh) * 2020-10-16 2021-01-08 深圳无域科技技术有限公司 基于机器学习的报表系统及报表生成方法
CN112257403A (zh) * 2020-09-18 2021-01-22 王长磊 一种pdf报表的生成方法以及装置
CN112256260A (zh) * 2020-10-30 2021-01-22 中电万维信息技术有限责任公司 一种基于可热插拔动态组件的可视化系统
CN112597750A (zh) * 2020-12-28 2021-04-02 珠海新华通软件股份有限公司 在线设计动态检测报告模板的方法、编辑器及介质
CN112800734A (zh) * 2021-01-26 2021-05-14 浪潮云信息技术股份公司 一种基于环境中间件技术ureport报表调用方法及系统
CN113255314A (zh) * 2021-07-08 2021-08-13 广东省特种设备检测研究院中山检测院 一种可配置的报告模板系统实现方法、电子设备和存储介质
CN114048722A (zh) * 2021-11-23 2022-02-15 北京三维天地科技股份有限公司 一种电子报表模板设计及动态渲染的方法及系统
CN115841102A (zh) * 2022-12-30 2023-03-24 深圳市金政软件技术有限公司 动态数据报表的生成方法、装置、设备及存储介质
CN116383544A (zh) * 2023-06-05 2023-07-04 北京拓普丰联信息科技股份有限公司 一种网页报表的生成方法、装置、设备和介质
CN116956847A (zh) * 2023-07-25 2023-10-27 陕西师范大学 报表管理方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108376176A (zh) * 2018-03-14 2018-08-07 深圳日彤大数据有限公司 可拖拽式大数据可视化分析工具系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345758A (zh) * 2008-08-14 2009-01-14 中兴通讯股份有限公司 报表归一化处理方法、装置和系统
CN102298574A (zh) * 2010-06-24 2011-12-28 腾讯科技(北京)有限公司 自定义报表生成方法及装置
CN102841938A (zh) * 2012-08-14 2012-12-26 北京久其软件股份有限公司 一种参数化报表的生成方法及系统
CN103700040A (zh) * 2014-01-14 2014-04-02 国家电网公司 一种电力数据报表生成方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345758A (zh) * 2008-08-14 2009-01-14 中兴通讯股份有限公司 报表归一化处理方法、装置和系统
CN102298574A (zh) * 2010-06-24 2011-12-28 腾讯科技(北京)有限公司 自定义报表生成方法及装置
CN102841938A (zh) * 2012-08-14 2012-12-26 北京久其软件股份有限公司 一种参数化报表的生成方法及系统
CN103700040A (zh) * 2014-01-14 2014-04-02 国家电网公司 一种电力数据报表生成方法及装置

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615725A (zh) * 2015-02-09 2015-05-13 武汉众联信息技术股份有限公司 一种基于Web的在线自定义报表实现方法
CN104615725B (zh) * 2015-02-09 2018-03-16 武汉众廉科技有限公司 一种基于Web的在线自定义报表实现方法
CN104765844B (zh) * 2015-04-16 2019-02-19 北京京东尚科信息技术有限公司 一种网站页面的生成方法和装置
CN104765844A (zh) * 2015-04-16 2015-07-08 北京京东尚科信息技术有限公司 一种网站页面的生成方法和装置
CN106447275A (zh) * 2015-08-06 2017-02-22 兰州华强信息技术有限公司 一种报表系统
CN106469140A (zh) * 2015-08-17 2017-03-01 朗新科技股份有限公司 一种报表生成系统及其方法
CN105159997A (zh) * 2015-09-08 2015-12-16 深圳禧金信息技术有限公司 报表处理方法及报表处理系统
CN105159997B (zh) * 2015-09-08 2018-05-08 深圳数加信息技术有限公司 报表处理方法及报表处理系统
CN105589840A (zh) * 2015-12-15 2016-05-18 重庆腾帆科技有限公司 一种通用excel/pdf报表导出组件
CN105607800A (zh) * 2015-12-17 2016-05-25 广东欧珀移动通信有限公司 一种终端屏幕输入显示的方法及装置
CN106055535A (zh) * 2016-06-02 2016-10-26 深圳市中润四方信息技术有限公司 一种图表生成方法及装置
CN106055535B (zh) * 2016-06-02 2020-06-12 深圳市中润四方信息技术有限公司 一种图表生成方法及装置
CN110222236A (zh) * 2016-06-06 2019-09-10 福建榕基软件股份有限公司 Xml报文模板的生成及更新方法及其系统
CN106446035B (zh) * 2016-08-31 2020-04-21 南威软件股份有限公司 一种呈批单的自定义设计系统及方法
CN106446035A (zh) * 2016-08-31 2017-02-22 南威软件股份有限公司 一种呈批单的自定义设计系统及方法
CN108885613A (zh) * 2016-09-26 2018-11-23 浙江核新同花顺网络信息股份有限公司 报表显示系统及方法
US11727081B2 (en) 2016-09-26 2023-08-15 Hithink Financial Services Inc. System and method of presentation of online financial report
US11481465B2 (en) 2016-09-26 2022-10-25 Hithink Financial Services Inc. System and method of presentation of online financial report
CN106776498A (zh) * 2016-12-09 2017-05-31 山东浪潮商用系统有限公司 一种数据导出为pdf的方法
CN107861926A (zh) * 2016-12-28 2018-03-30 平安科技(深圳)有限公司 单证模板配置方法及装置
CN107704479A (zh) * 2017-02-08 2018-02-16 上海壹账通金融科技有限公司 文件生成方法和装置
CN107704479B (zh) * 2017-02-08 2020-06-30 深圳壹账通智能科技有限公司 文件生成方法和装置
US10802804B2 (en) 2017-02-08 2020-10-13 One Connect Smart Technology Co., Ltd. File generation method, device, server, and storage medium
CN107122185B (zh) * 2017-04-21 2020-08-14 国网福建省电力有限公司 一种针对配电网参数类信息可视化展现系统
CN107122185A (zh) * 2017-04-21 2017-09-01 国网福建省电力有限公司 一种针对配电网参数类信息可视化展现方法
CN107203506A (zh) * 2017-06-06 2017-09-26 山东浪潮通软信息科技有限公司 一种报表生成方法及装置
CN107491427A (zh) * 2017-06-08 2017-12-19 北京小度信息科技有限公司 数据报表处理方法及装置
CN107391467A (zh) * 2017-06-08 2017-11-24 北京小度信息科技有限公司 报表组件布局信息处理方法及装置
CN109800397A (zh) * 2017-11-16 2019-05-24 北大方正集团有限公司 数据分析报告自动生成方法、装置、计算机设备和介质
CN109800397B (zh) * 2017-11-16 2020-12-04 北大方正集团有限公司 数据分析报告自动生成方法、装置、计算机设备和介质
CN110020307A (zh) * 2017-11-30 2019-07-16 阿里巴巴集团控股有限公司 一种客户端视图的绘制方法和装置
CN107943436B (zh) * 2017-12-05 2020-12-01 浪潮金融信息技术有限公司 费用清单打印方法及装置、计算机可读存储介质、终端
CN107943436A (zh) * 2017-12-05 2018-04-20 浪潮金融信息技术有限公司 费用清单打印方法及装置、计算机可读存储介质、终端
CN107977351A (zh) * 2017-12-28 2018-05-01 平安科技(深圳)有限公司 电子报表生成方法、装置、计算机设备及存储介质
CN108052676B (zh) * 2017-12-28 2021-06-18 广东金赋科技股份有限公司 多数据源数据的配置方法及装置
CN107977351B (zh) * 2017-12-28 2021-01-15 平安科技(深圳)有限公司 电子报表生成方法、装置、计算机设备及存储介质
WO2019127844A1 (zh) * 2017-12-28 2019-07-04 平安科技(深圳)有限公司 电子报表生成方法、装置、计算机设备及存储介质
CN108052676A (zh) * 2017-12-28 2018-05-18 广东金赋科技股份有限公司 多数据源数据的配置方法及装置
CN108062298A (zh) * 2018-01-02 2018-05-22 武汉斗鱼网络科技有限公司 图表数据生成方法、装置及可读存储介质
CN108494668A (zh) * 2018-04-03 2018-09-04 北京京东尚科信息技术有限公司 一种执行邮件任务的方法和装置
CN108595397A (zh) * 2018-04-09 2018-09-28 重庆塞尔特科技有限公司 一种自动生成报告的方法
CN108717430A (zh) * 2018-05-11 2018-10-30 重庆工商职业学院 一种大数据分析的网页报表生成方法及系统
CN109343848A (zh) * 2018-09-18 2019-02-15 西安葡萄城信息技术有限公司 一种网页设计方法及系统
CN112100991A (zh) * 2019-05-30 2020-12-18 北京奇虎科技有限公司 数据报表生成方法及装置
CN110717322A (zh) * 2019-10-10 2020-01-21 湖南舞龙软件开发有限公司 一种质量监测分析原始记录表的通用生成方法
CN110717320A (zh) * 2019-10-11 2020-01-21 上海管和信息科技有限公司 适用于多平台的表单/报表设计器、方法及信息化管理系统
CN112257403A (zh) * 2020-09-18 2021-01-22 王长磊 一种pdf报表的生成方法以及装置
CN112199928A (zh) * 2020-10-16 2021-01-08 深圳无域科技技术有限公司 基于机器学习的报表系统及报表生成方法
CN112256260B (zh) * 2020-10-30 2022-07-05 中电万维信息技术有限责任公司 一种基于可热插拔动态组件的可视化系统
CN112256260A (zh) * 2020-10-30 2021-01-22 中电万维信息技术有限责任公司 一种基于可热插拔动态组件的可视化系统
CN112597750A (zh) * 2020-12-28 2021-04-02 珠海新华通软件股份有限公司 在线设计动态检测报告模板的方法、编辑器及介质
CN112800734A (zh) * 2021-01-26 2021-05-14 浪潮云信息技术股份公司 一种基于环境中间件技术ureport报表调用方法及系统
CN113255314A (zh) * 2021-07-08 2021-08-13 广东省特种设备检测研究院中山检测院 一种可配置的报告模板系统实现方法、电子设备和存储介质
CN113255314B (zh) * 2021-07-08 2021-10-12 广东省特种设备检测研究院中山检测院 一种可配置的报告模板系统实现方法、电子设备和存储介质
CN114048722A (zh) * 2021-11-23 2022-02-15 北京三维天地科技股份有限公司 一种电子报表模板设计及动态渲染的方法及系统
CN115841102A (zh) * 2022-12-30 2023-03-24 深圳市金政软件技术有限公司 动态数据报表的生成方法、装置、设备及存储介质
CN116383544A (zh) * 2023-06-05 2023-07-04 北京拓普丰联信息科技股份有限公司 一种网页报表的生成方法、装置、设备和介质
CN116383544B (zh) * 2023-06-05 2023-08-25 北京拓普丰联信息科技股份有限公司 一种网页报表的生成方法、装置、设备和介质
CN116956847A (zh) * 2023-07-25 2023-10-27 陕西师范大学 报表管理方法和装置

Also Published As

Publication number Publication date
CN104281447B (zh) 2017-10-10

Similar Documents

Publication Publication Date Title
CN104281447B (zh) 一种报表快速生成及发布的系统及其方法
CN107451296B (zh) 一种基于组件的网站模块化渲染方法
CN110325961B (zh) 基于电子表格的软件应用程序开发
CN111259303B (zh) 一种web信息系统前端页面自动生成的系统及其方法
EP3718000B1 (en) Spreadsheet-based software application development
US20210150131A1 (en) Methods and systems for annotating a dashboard
US8407585B2 (en) Context-aware content conversion and interpretation-specific views
CN107807913A (zh) 一种基于web的电子表单设计系统及方法
CN106354786A (zh) 一种可视分析方法及系统
US8171451B2 (en) Providing reports as web services
CN109815435A (zh) 一种网站页面生成方法、装置及电子设备
CN101799753B (zh) 一种实现树形结构的方法及装置
KR20080053930A (ko) 문서 레이아웃의 적응을 용이하게 하는 시스템과, 콘텐트를배열하는 컴퓨터 구현 방법 및 컴퓨터 구현 시스템
CN114035773A (zh) 一种基于配置的低代码开发表单方法、系统及装置
JPWO2006085455A1 (ja) 文書処理装置および文書処理方法
US11726753B2 (en) Spreadsheet-based software application development
KR20170098854A (ko) 보고 생성 방법
CN112368685A (zh) 可定制的企业自动化测试框架
CN104881275A (zh) 一种电子报表生成方法及装置
CN116468010A (zh) 报表生成方法、装置、终端及存储介质
KR100522186B1 (ko) 동적으로 홈페이지를 제작하는 방법 및 이 방법을 웹에서구현하는 장치
CN102043769A (zh) 单据编辑方法和装置
Wu The application and management system of scientific research projects based on PHP and MySQL
Cruz et al. Delaunay/sup MM: a visual framework for multimedia presentation
Good The benefits and practicalities of using extensible markup language (XML) for the interfacing and control of object-oriented simulations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100761 West Chang'an Avenue, Beijing, No. 86, No.

Co-patentee after: NARI Group Corp.

Patentee after: State Grid Corporation of China

Co-patentee after: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

Address before: 100761 West Chang'an Avenue, Beijing, No. 86, No.

Co-patentee before: NARI Group CORPORATION STATE GRID ELECTRIC POWER INSTITUTE

Patentee before: State Grid Corporation of China

Co-patentee before: NARI INFORMATION AND COMMUNICATION TECHNOLOGY Co.

CP01 Change in the name or title of a patent holder