CN115238659A - 一种报表数据处理方法和装置 - Google Patents
一种报表数据处理方法和装置 Download PDFInfo
- Publication number
- CN115238659A CN115238659A CN202210653462.8A CN202210653462A CN115238659A CN 115238659 A CN115238659 A CN 115238659A CN 202210653462 A CN202210653462 A CN 202210653462A CN 115238659 A CN115238659 A CN 115238659A
- Authority
- CN
- China
- Prior art keywords
- data
- report
- target node
- rendering
- marking
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/183—Tabulation, i.e. one-dimensional positioning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种报表数据处理方法和装置,该方法包括:通过从源数据端获取报表数据,并获取多层级的表头数据,对报表数据以及表头数据进行配置,得到配置数据;对配置数据进行节点标记,并将已标记节点作为待推断的目标节点,对配置数据的数据量进行布局推断;当推断数据量符合预定条件时,确定目标节点,将目标节点进行属性标记,并缓存;响应于用户对页面的下拉操作,判断是否存在未渲染数据,将未渲染数据添加到渲染队列;对渲染队列中的预渲染数据进行节点标记、分割,将分割后的标记数据渲染,在报表页面进行展示。本公开利用统一的报表展示工具,实现大数据量下的可视化展示,有利于提高数据的可维护性,为用户提供优质的体验。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种报表数据处理方法和装置。
背景技术
报表作为信息管理的重要组成,目前广泛应用于日常工作中。企业利用报表工具对业务数据进行统计分析,将经过筛选、统计的数据进行可视化展示,为生产管理提供数据支持,报表工具能够帮助企业在海量的信息中提取有效信息数据,满足企业的信息化管理需要,促进企业竞争力的提升。
然而,目前报表的形式较为单一,无法对现有的业务数据进行灵活配置,不同项目之间的可维护性差,数据接入成本较高,针对大数据量报表,页面加载时间长,存在页面卡顿的现象,导致用户体验较差。
发明内容
有鉴于此,本公开实施例提供了一种报表数据处理方法、装置、电子设备及计算机可读存储介质,以解决现有技术中的报表形式较为单一,不同项目之间的可维护性差,数据接入成本较高,用户体验差的问题。
本公开实施例的第一方面,提供了一种报表处理方法,包括:
从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对报表数据以及表头数据进行配置,得到配置数据;
根据报表容器对配置数据进行节点标记,并将已标记节点作为待推断的目标节点,根据报表容器的窗口高度以及待推断的目标节点,对配置数据的数据量进行布局推断;
当推断数据量符合预定条件时,根据报表容器对应的首次展示区域,确定首次展示区域范围内的目标节点,将目标节点进行属性标记,并将目标节点进行缓存;
响应于用户对页面的下拉操作,根据配置数据的数据量以及首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将未渲染数据添加到渲染队列中;
从首次展示区域对应的目标节点的缓存位置开始,对渲染队列中的预渲染数据进行节点标记,根据节点标记的位置对预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。
本公开实施例的第二方面,提供了一种报表数据处理装置,包括:
获取模块,被配置为从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对报表数据以及表头数据进行配置,得到配置数据;
标记模块,被配置为根据报表容器对配置数据进行节点标记,并将已标记节点作为待推断的目标节点,根据报表容器的窗口高度以及待推断的目标节点,对配置数据的数据量进行布局推断;
缓存模块,被配置为当推断数据量符合预定条件时,根据报表容器对应的首次展示区域,确定首次展示区域范围内的目标节点,将目标节点进行属性标记,并将目标节点进行缓存;
判断模块,被配置为响应于用户对页面的下拉操作,根据配置数据的数据量以及首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将未渲染数据添加到渲染队列中;
渲染模块,被配置为从首次展示区域对应的目标节点的缓存位置开始,对渲染队列中的预渲染数据进行节点标记,根据节点标记的位置对预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。
本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本公开实施例与现有技术相比存在的有益效果是:通过从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对报表数据以及表头数据进行配置,得到配置数据,根据报表容器对配置数据进行节点标记,并将已标记节点作为待推断的目标节点,根据报表容器的窗口高度以及待推断的目标节点,对配置数据的数据量进行布局推断,当推断数据量符合预定条件时,根据报表容器对应的首次展示区域,确定首次展示区域范围内的目标节点,将目标节点进行属性标记,并将目标节点进行缓存,响应于用户对页面的下拉操作,根据配置数据的数据量以及首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将未渲染数据添加到渲染队列中,从首次展示区域对应的目标节点的缓存位置开始,对渲染队列中的预渲染数据进行节点标记,根据节点标记的位置对预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。本公开利用统一的报表展示工具,实现大数据量下的可视化展示,有利于提高数据的可维护性,为用户提供优质的体验。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本公开实施例提供的一种报表数据处理方法的流程示意图;
图2是本公开实施例提供的一种报表数据处理装置的结构示意图;
图3是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
下面将结合附图详细说明根据本公开实施例的一种报表数据处理方法和装置。
报表作为信息管理的工具,对业务数据加工后,能够获取企业的运营状态,为后续的决策提供数据支持。利用报表对数据进行加工处理,需要报表工具兼具多种功能,满足不同场景的业务需要。
目前的报表工具能够进行简单的列表展示,选用的表头为固定表头,按照预设的规则进行展示。现有的工具中,如常见的table布局能够实现报表数据展示,但是一旦数据量过大,将会出现页面卡顿,页面加载缓慢等问题,损耗页面渲染性能,降低用户体验。或者利用Canvas方案进行图表绘制,可以进行简单的报表展示,但无法对个性化方案提供支持。此外,部分报表工具由于逻辑模块之间相互独立,数据接入成本高,报表开发时间增加,进行修改的难度较大,可维护性差。
本公开实施例则提出了新的报表数据处理方法,根据用户提供的数据完成数据配置,能够满足用户的个性化定制需求,降低了数据接入成本,有利于提高数据的可维护性。同时可以实现大数据量下的可视化展示,页面加载时间大大缩短,带来更优质的用户体验。
本实施例中,报表利用前端页面端进行展示,前端页面的执行主体为浏览器,浏览器内核是浏览器的核心,也称渲染引擎,浏览器通过后台获取数据内容进行解析,利用后台获取数据并进行解析,得到页面内容,将页面内容发送至前端页面,输出至显示器实现内容的展示。
具体地,浏览器中包括组件、属性、事件以及方法等。组件是构成可视化界面的基本元素,包括前进后退按钮、分割线、滚动条、图像、单选框等。组件的类型包括但不限于用户界面组件、报表组件、表格组件等,以及复合组件,可以实现组件的多功能组合。属性为组件运行的性质,基于属性确定组件的大小、显示位置、是否可见等。事件为对一个组件的操作,例如渲染中的时间包括:Loading事件,用于网络通讯和HTML解;Scripting事件,用于JavaScript执行;Rendering事件,用于页面布局和重排;Painting事件,用于重绘等。方法为执行某个事件时的具体操作。
图1是本公开实施例提供的一种报表数据处理方法的流程示意图,本实施例的报表数据处理方法的执行主体为浏览器。如图1所示,报表数据处理方法包括:
S101,从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对报表数据以及表头数据进行配置,得到配置数据。
获取报表数据,数据来源包括但不限于SQL数据集、API数据集、JSON数据集等其中至少一种。获取多层级的表头数据,表头数据为用户根据业务需要进行设置。作为示例,在报表能耗用量统计中,包括统计综合能源、每万平米的能耗、水、燃气、电,其中综合能源的实际用量、月度环比、月度用比等数据可以为报表数据。能耗分项为报表的表头,包括实际用量、月度环比、综合能源的单位等。
利用预先设定的数据转换配置方法,对报表数据以及表头数据进行配置,本实施例中,将报表数据以及表头数据输入到预定的格式转换工具,使用transfer Table DataTO Config方法,转换为符合预设格式要求的配置数据。
S102,根据报表容器对配置数据进行节点标记,并将已标记节点作为待推断的目标节点,根据报表容器的窗口高度以及待推断的目标节点,对配置数据的数据量进行布局推断。
获取报表容器的相关信息,至少包括可视窗口高度、可视窗口宽度、背景颜色,根据可视窗口高度、宽度,确定报表容器的页面展示区域的大小,根据页面展示区域的大小以及配置数据中的数据长度,将页面展示区域内每一行显示的配置数据作为一个目标节点进行标记,将目标节点在初始状态下作为待推断的目标节点。
根据报表容器的窗口高度以及待推断的目标节点,进行布局推断,确定数据量大小,将数据量大小作为判断是否符合预定条件的依据,根据数据量确定相应的数据处理策略。
具体地,确定报表容器的窗口高度所容纳的目标节点的数量,当待推断的目标节点的数量少于报表容器的窗口高度所容纳的目标节点的数量,且将待推断的目标节点放入报表容器的窗口后,配置数据的最后一个待推断的目标节点已被标记,则推断当前配置数据的数据量为小数据量,不符合预定条件,此时进行配置数据的全量展示。
当待推断的目标节点的数量不少于报表容器的窗口高度所容纳的目标节点的数量,且将待推断的目标节点放入报表容器的窗口后,配置数据的最后一个待推断的目标节点未被标记,则确定当前配置数据的数据量为大数据量符合预设条件,执行步骤S103。
S103,当推断数据量符合预定条件时,根据报表容器对应的首次展示区域,确定首次展示区域范围内的目标节点,将目标节点进行属性标记,并将目标节点进行缓存。
当推断当前配置数据的数据量为大数据量时,将数据传输至worker进行数据处理。本实施例中,需要创建worker容器,worker可以实现多线程任务处理。利用worker监听消息,用户根据需要向worker发送运行指令,worker接收指令从配置数据中获取数据信息。
根据报表容器对应的首次展示区域,确定首次展示区域范围内的目标节点,将首次展示区域内所能容纳的目标节点进行属性标记,将目标节点的属性标记为已标记状态,作为示例,属性标记可以为before node和after node,确定前后节点,并将已标记状态的目标节点进行缓存,记录已标记状态的目标节点的位置。缓存的方式可以为内存,也可以为其他的存储方式。用户后续进行滚动操作时,已经标记的节点不需要浏览器重新读取。
S104,响应于用户对页面的下拉操作,根据配置数据的数据量以及首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将未渲染数据添加到渲染队列中。
响应于用户对页面的下拉操作,报表工具执行对应的处理逻辑。基于用户对页面的下拉操作量,确定本次展示区域的大小。根据本次展示区域的大小以及配置数据的数据量,对执行队列中的数据量进行判断,判断是否存在未渲染数据当存在未渲染数据时,将未渲染数据添加到渲染队列中,执行相应的渲染操作。
渲染操作的流程包括计算CSS(层叠样式表),然后构建渲染树,确定布局,根据渲染树对页面进行渲染。对未渲染数据进行渲染,得到渲染输出的结果。将渲染结果传送至前端页面进行展示。当渲染队列中的未渲染数据不足时,继续获取目标节点,作为未渲染数据等待渲染操作。
S105,从首次展示区域对应的目标节点的缓存位置开始,对渲染队列中的预渲染数据进行节点标记,根据节点标记的位置对预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。
将缓存的已标记目标节点添加到节点标记集合中,根据首次展示区域对应的目标节点的缓存位置,从节点标记集合中查询已标记目标节点在节点标记集合中的位置,从该位置开始依次对渲染队列中的预渲染数据进行节点标记。
并且根据预渲染数据的节点标记位置,对执行队列中的预渲染数据进行分割,通过分割,确定了节点的指定区域,从而控制节点数量,避免因前端页面节点过多层级嵌套,造成需要渲染的节点过多而出现页面卡顿甚至白屏。
控制节点数量也有利于优化页面性能,减少组件的加载时间,实现报表地快速展示。本实施例中,在完成渲染后,选择以数据量1万条为例,利用Chrome DevTools的Timeline分析页面性能,确定使用本发明的应用效果,为进一步优化提供依据。具体地,使用Timeline中的事件模式(Event Model)计算渲染各种事件消耗的时间,得到由不同颜色组成的事件模式图,以及渲染事件的时间记录。未使用本发明前,渲染需要48325ms。使用本发明后,渲染需要41ms。组件加载时间大幅缩短,同时页面卡顿现象出现较少。
将分割后的标记数据进行渲染,渲染后的标记数据在前端报表页面进行展示,作为展示的基础,前端框架可以选择使用VUE.js框架、React Native、Angular.js。作为示例,选择VUE.js框架作为框架解决方案,包括界面设计、菜单、组件以及文档结构等。
本公开实施例提供的一种报表数据处理方法,通过从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对报表数据以及表头数据进行配置,得到配置数据,配置数据进行节点标记,根据报表容器的窗口高度以及待推断的目标节点,对配置数据的数据量进行布局推断,确定目标节点,将目标节点进行属性标记,并将目标节点进行缓存,响应于用户对页面的下拉操作,根据配置数据的数据量以及首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将未渲染数据添加到渲染队列中,对渲染队列中的预渲染数据进行节点标记,根据节点标记的位置对预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。本公开利用统一的报表展示工具,根据用户业务场景进行数据配置,减少了数据的接入成本,增加数据的可维护性,开发效率大幅提升。同时针对报表中大数据量的情况,通过控制节点数量,节省了运算量,页面掉帧现象、卡顿情况大大减少,为用户提供优质的体验,实现大数据场景下报表的高性能展示。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图2是本公开实施例提供的一种报表数据处理装置的结构示意图,如图2所示,该报表数据处理装置包括:获取模块201、标记模块202、缓存模块203、判断模块204、渲染模块205。获取模块201,被配置为从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对报表数据以及表头数据进行配置,得到配置数据;标记模块202,被配置为根据报表容器对配置数据进行节点标记,并将已标记节点作为待推断的目标节点,根据报表容器的窗口高度以及待推断的目标节点,对配置数据的数据量进行布局推断;缓存模块203,被配置为当推断数据量符合预定条件时,根据报表容器对应的首次展示区域,确定首次展示区域范围内的目标节点,将目标节点进行属性标记,并将目标节点进行缓存;判断模块204,被配置为响应于用户对页面的下拉操作,根据配置数据的数据量以及首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将未渲染数据添加到渲染队列中;渲染模块205,被配置为从首次展示区域对应的目标节点的缓存位置开始,对渲染队列中的预渲染数据进行节点标记,根据节点标记的位置对预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。
进一步地,获取模块201被具体配置为:将报表数据以及表头数据输入到预定的格式转换工具中,利用格式转换工具对应的数据转换配置方法,将报表数据以及表头数据配置成符合预设格式要求的配置数据。
进一步地,标记模块202被具体配置为:确定报表容器的页面展示区域的大小,根据页面展示区域的大小以及配置数据中的数据长度,将页面展示区域内每一行显示的配置数据作为一个目标节点进行标记,目标节点在初始状态下为待推断的目标节点;确定报表容器的窗口高度所容纳的目标节点的数量,当待推断的目标节点的数量少于报表容器的窗口高度所容纳的目标节点的数量,且将待推断的目标节点放入报表容器的窗口后,配置数据的最后一个待推断的目标节点已被标记,则推断数据量不符合预定条件,此时将配置数据进行全量展示。
进一步地,缓存模块203被具体配置为:根据报表容器的首次展示区域的大小,将首次展示区域内所能容纳的目标节点进行属性标记,将目标节点的属性标记为已标记状态,并将已标记状态的目标节点进行缓存,记录已标记状态的目标节点的位置。
进一步地,判断模块204被具体配置为:响应于用户对页面的下拉操作,根据用户对页面的下拉操作量,确定本次展示区域的大小,根据本次展示区域的大小以及配置数据的数据量,对执行队列中的数据量进行判断,根据判断结果确定执行队列中是否包含未渲染数据。
进一步地,渲染模块205被具体配置为:将缓存的已标记目标节点添加到节点标记集合中,根据首次展示区域对应的目标节点的缓存位置,从节点标记集合中查询已标记目标节点在节点标记集合中的位置,从该位置开始依次对渲染队列中的预渲染数据进行节点标记,并且根据预渲染数据的节点标记位置,对执行队列中的预渲染数据进行分割,得到分割后的标记数据。
图3是本公开实施例提供的电子设备3的结构示意图。如图3所示,该实施例的电子设备3包括:处理器301、存储器302以及存储在该存储器302中并且可以在处理器301上运行的计算机程序303。处理器301执行计算机程序303时实现上述各个方法实施例中的步骤。或者,处理器301执行计算机程序303时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序303可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器302中,并由处理器301执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序303在电子设备3中的执行过程。
电子设备3可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备3可以包括但不仅限于处理器301和存储器302。本领域技术人员可以理解,图3仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器301可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器302可以是电子设备3的内部存储单元,例如,电子设备3的硬盘或内存。存储器302也可以是电子设备3的外部存储设备,例如,电子设备3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器302还可以既包括电子设备3的内部存储单元也包括外部存储设备。存储器302用于存储计算机程序以及电子设备所需的其它程序和数据。存储器302还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.一种报表数据处理方法,其特征在于,包括:
从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对所述报表数据以及所述表头数据进行配置,得到配置数据;
根据报表容器对所述配置数据进行节点标记,并将已标记节点作为待推断的目标节点,根据所述报表容器的窗口高度以及所述待推断的目标节点,对所述配置数据的数据量进行布局推断;
当推断所述数据量符合预定条件时,根据所述报表容器对应的首次展示区域,确定所述首次展示区域范围内的目标节点,将所述目标节点进行属性标记,并将所述目标节点进行缓存;
响应于用户对页面的下拉操作,根据所述配置数据的数据量以及所述首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将所述未渲染数据添加到渲染队列中;
从所述首次展示区域对应的目标节点的缓存位置开始,对所述渲染队列中的预渲染数据进行节点标记,根据所述节点标记的位置对所述预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。
2.根据权利要求1所述的方法,其特征在于,所述利用预定的数据转换配置方法,对所述报表数据以及所述表头数据进行配置,得到配置数据,包括:
将所述报表数据以及所述表头数据输入到预定的格式转换工具中,利用所述格式转换工具对应的数据转换配置方法,将所述报表数据以及所述表头数据配置成符合预设格式要求的配置数据。
3.根据权利要求1所述的方法,其特征在于,所述根据报表容器对所述配置数据进行节点标记,并将已标记节点作为待推断的目标节点,包括:
确定所述报表容器的页面展示区域的大小,根据所述页面展示区域的大小以及所述配置数据中的数据长度,将所述页面展示区域内每一行显示的配置数据作为一个目标节点进行标记,所述目标节点在初始状态下为待推断的目标节点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述报表容器的窗口高度以及所述待推断的目标节点,对所述配置数据的数据量进行布局推断,包括:
确定所述报表容器的窗口高度所容纳的目标节点的数量,当所述待推断的目标节点的数量少于所述报表容器的窗口高度所容纳的目标节点的数量,且将所述待推断的目标节点放入所述报表容器的窗口后,所述配置数据的最后一个待推断的目标节点已被标记,则推断所述数据量不符合预定条件,此时将所述配置数据进行全量展示。
5.根据权利要求1所述的方法,其特征在于,所述根据所述报表容器对应的首次展示区域,确定所述首次展示区域范围内的目标节点,将所述目标节点进行属性标记,并将所述目标节点进行缓存,包括:
根据所述报表容器的首次展示区域的大小,将所述首次展示区域内所能容纳的目标节点进行属性标记,将所述目标节点的属性标记为已标记状态,并将所述已标记状态的目标节点进行缓存,记录所述已标记状态的目标节点的位置。
6.根据权利要求1所述的方法,其特征在于,所述响应于用户对页面的下拉操作,根据所述配置数据的数据量以及所述首次展示区域对应的数据量,判断是否存在未渲染数据,包括:
响应于用户对所述页面的下拉操作,根据用户对页面的下拉操作量,确定本次展示区域的大小,根据所述本次展示区域的大小以及所述配置数据的数据量,对执行队列中的数据量进行判断,根据判断结果确定所述执行队列中是否包含未渲染数据。
7.根据权利要求1所述的方法,其特征在于,所述从所述首次展示区域对应的目标节点的缓存位置开始,对所述渲染队列中的预渲染数据进行节点标记,根据所述节点标记的位置对所述预渲染数据进行分割,包括:
将缓存的已标记目标节点添加到节点标记集合中,根据所述首次展示区域对应的目标节点的缓存位置,从所述节点标记集合中查询已标记目标节点在所述节点标记集合中的位置,从该位置开始依次对所述渲染队列中的预渲染数据进行节点标记,并且根据预渲染数据的节点标记位置,对执行队列中的所述预渲染数据进行分割,得到分割后的标记数据。
8.一种报表数据处理装置,其特征在于,包括:
获取模块,被配置为从源数据端获取报表数据,并获取用户设置的包含多层级的表头数据,利用预定的数据转换配置方法,对所述报表数据以及所述表头数据进行配置,得到配置数据;
标记模块,被配置为根据报表容器对所述配置数据进行节点标记,并将已标记节点作为待推断的目标节点,根据所述报表容器的窗口高度以及所述待推断的目标节点,对所述配置数据的数据量进行布局推断;
缓存模块,被配置为当推断所述数据量符合预定条件时,根据所述报表容器对应的首次展示区域,确定所述首次展示区域范围内的目标节点,将所述目标节点进行属性标记,并将所述目标节点进行缓存;
判断模块,被配置为响应于用户对页面的下拉操作,根据所述配置数据的数据量以及所述首次展示区域对应的数据量,判断是否存在未渲染数据,当存在未渲染数据时,将所述未渲染数据添加到渲染队列中;
渲染模块,被配置为从所述首次展示区域对应的目标节点的缓存位置开始,对所述渲染队列中的预渲染数据进行节点标记,根据所述节点标记的位置对所述预渲染数据进行分割,将分割后的标记数据进行渲染,将渲染后的标记数据在前端报表页面进行展示。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210653462.8A CN115238659A (zh) | 2022-06-09 | 2022-06-09 | 一种报表数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210653462.8A CN115238659A (zh) | 2022-06-09 | 2022-06-09 | 一种报表数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115238659A true CN115238659A (zh) | 2022-10-25 |
Family
ID=83669967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210653462.8A Pending CN115238659A (zh) | 2022-06-09 | 2022-06-09 | 一种报表数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115238659A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578299A (zh) * | 2023-07-12 | 2023-08-11 | 成都数默科技有限公司 | 一种基于AngularJS框架的大数据列表实现方法 |
-
2022
- 2022-06-09 CN CN202210653462.8A patent/CN115238659A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578299A (zh) * | 2023-07-12 | 2023-08-11 | 成都数默科技有限公司 | 一种基于AngularJS框架的大数据列表实现方法 |
CN116578299B (zh) * | 2023-07-12 | 2023-09-08 | 成都数默科技有限公司 | 一种基于AngularJS框架的大数据列表实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363602B (zh) | 智能ui界面布局方法、装置、终端设备及存储介质 | |
CN108170655A (zh) | 可视化报表的制作方法、装置、终端设备及存储介质 | |
CN110929489A (zh) | 一种表单生成及表单数据处理方法及系统 | |
CN106934058B (zh) | 矢量数据读取方法及系统、矢量数据可视化方法及系统 | |
DE112018002568T5 (de) | Verfahren, Systeme und Vorrichtung zur Reduzierung von Speicherlatenz beim Abrufen von Pixelkernen | |
CN112233009A (zh) | 一种图片渲染方法、装置、设备和存储介质 | |
CN115238659A (zh) | 一种报表数据处理方法和装置 | |
CN117094262A (zh) | 一种fpga芯片模型的解析绘图方法及装置 | |
CN109101544A (zh) | 热力图生成方法、装置、计算设备和可读存储介质 | |
CN117390195A (zh) | 基于图编辑器的知识溯源连线方法、系统、设备和介质 | |
CN107239212A (zh) | 分段选择视图呈现方法、装置及用户终端 | |
CN115691772A (zh) | 运营可视化系统及相应计算机设备和存储介质 | |
CN111768823B (zh) | 基于svg元素医学表达式编辑方法、装置、设备和介质 | |
CN112749359A (zh) | 一种页面可视化管理系统、方法及存储介质 | |
CN112698898A (zh) | 一种播放盒终端热力图快照生成方法及系统 | |
CN107592297A (zh) | 一种移动侦测的方法、系统及终端设备 | |
CN113254000A (zh) | 基于json数据生成2d场景的方法、装置、存储介质和设备 | |
CN112596704A (zh) | 客户信息的显示方法及装置、存储介质、电子装置 | |
CN112884349A (zh) | 一种股票技术指标展示方法、装置和系统 | |
CN117472380B (zh) | 一种前端表单生成方法及系统 | |
CN118332147B (zh) | 多图层图斑数据的差异对比方法、装置及电子设备 | |
CN109901832A (zh) | 可视化网页制作方法、装置、设备及存储介质 | |
CN116010725B (zh) | 地图点位集合动态展示方法、装置、计算机设备及介质 | |
CN116611418B (zh) | 基于在线编辑的报告处理方法、装置、电子设备及介质 | |
CN113763497B (zh) | 链接关系管理方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |