一种表格导出方法、装置及设备

文档序号:1447061 发布日期:2020-02-18 浏览:9次 >En<

阅读说明:本技术 一种表格导出方法、装置及设备 (Table exporting method, device and equipment ) 是由 王天翊 邢铁军 贾璐 葛东 于 2019-09-20 设计创作,主要内容包括:本申请公开一种表格导出方法、装置及设备,所述方法包括:后台接收前台获取到的待导出表格的数据请求元数据和表格元数据;后台利用所述数据请求元数据构造数据获取请求后,基于所述数据获取请求获得所述待导出表格中的数据;以及,后台基于所述表格元数据,创建所述待导出表格的模板;后台将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。本申请能够自动化的实现表格导出功能,降低开发人员的工作强度,以及降低维护成本。(The application discloses a table exporting method, a table exporting device and table exporting equipment, wherein the method comprises the following steps: a background receives data request metadata and form metadata of a form to be exported, which are acquired by a foreground; after the background constructs a data acquisition request by using the data request metadata, acquiring data in the table to be exported based on the data acquisition request; and the background creates a template of the table to be exported based on the table metadata; and writing the data in the table to be exported into the template by the background to obtain a table file so as to export the table to be exported. The form export function can be automatically realized, the working strength of developers is reduced, and the maintenance cost is reduced.)

一种表格导出方法、装置及设备

技术领域

本申请涉及数据处理领域,具体涉及一种表格导出方法、装置及设备。

背景技术

业务系统在利用表格展示数据的同时,通常还需要提供表格的导出功能。

目前,表格导出功能的实现方法中,业务系统的后台需要由开发人员单独编写用于获取表格中数据的请求,并由开发人员在后台单独维护一份与该表格的元数据完全一致的模板文件。一旦前台的表格元数据或者用于获取表格中数据的请求发生变化,开发人员需要随时重新修改在后台编写的用于获取表格中数据的请求以及模板文件,可见,上述表格导出方法灵活性也不足。

总之,目前的表格导出方法对于开发人员来说工作强度大且维护成本高。

发明内容

有鉴于此,本申请提供了一种表格导出方法、装置及设备,能够自动化的实现表格导出功能,降低开发人员的工作强度,以及降低维护成本。

第一方面,为实现上述发明目的,本申请提供了一种表格导出方法,所述方法包括:

后台接收前台获取到的待导出表格的数据请求元数据和表格元数据;

所述后台利用所述数据请求元数据构造数据获取请求后,基于所述数据获取请求获得所述待导出表格中的数据;

以及,所述后台基于所述表格元数据,创建所述待导出表格的模板;

所述后台将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。

一种可选的实施方式中,所述后台利用所述数据请求元数据构造数据获取请求后,基于所述数据获取请求获得所述待导出表格中的数据,包括:

所述后台利用所述数据请求元数据构造N个数据获取请求;其中,N为正整数;

所述后台基于所述N个数据获取请求,分别利用N个预先创建的线程以一对一的方式并行分页获取所述待导出表格中的数据;

所述后台将分页获取到的所述待导出表格中的数据按照分页编号顺序进行组装。

第二方面,本申请还提供了一种表格导出方法,所述方法包括:

前台解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据;

以及,所述前台获取所述待导出表格的表格元数据;

所述前台建立所述数据请求元数据、所述表格元数据和所述待导出表格的对应关系后,将所述对应关系发送至后台,以便所述后台基于所述对应关系实现所述待导出表格的导出。

一种可选的实施方式中,所述前台解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据,包括:

在前台向后台发送数据获取请求时,解析所述数据获取请求,得到数据请求元数据;其中,所述数据获取请求用于获取待导出表格展示的数据。

第三方面,本申请提供了一种表格导出方法,所述方法包括:

前台解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据,以及,获取所述待导出表格的表格元数据;

所述前台建立所述数据请求元数据、所述表格元数据和所述待导出表格的对应关系后,将所述对应关系发送至后台;

所述后台利用所述对应关系中的数据请求元数据构造数据获取请求后,基于所述数据获取请求获得所述待导出表格中的数据,以及,基于所述表格元数据,创建所述待导出表格的模板;

所述后台将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。

第四方面,本申请提供了一种表格导出装置,所述装置包括:

第一接收模块,用于接收前台获取到的待导出表格的数据请求元数据和表格元数据;

构造模块,用于利用所述数据请求元数据构造数据获取请求;

第一获得模块,用于基于所述数据获取请求获得所述待导出表格中的数据;

创建模块,用于基于所述表格元数据,创建所述待导出表格的模板;

写入模块,用于将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。

一种可选的实施方式中,所述构造模块,具体用于:

利用所述数据请求元数据构造N个数据获取请求;

相应的,所述第一获得模块,包括:

获得子模块,用于基于所述N个数据获取请求,分别利用N个预先创建的线程以一对一的方式并行分页获得所述待导出表格中的数据;

组装子模块,用于将所述获得子模块分页获得的所述待导出表格中的数据按照分页编号顺序进行组装。

第五方面,本申请提供了一种表格导出装置,所述装置包括:

解析模块,用于解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据;

获取模块,用于获取所述待导出表格的表格元数据;

发送模块,用于建立所述数据请求元数据、所述表格元数据和所述待导出表格的对应关系后,将所述对应关系发送至后台,以便所述后台基于所述对应关系实现所述待导出表格的导出。

一种可选的实施方式中,所述解析模块,具体用于:

在向后台发送数据获取请求时,解析所述数据获取请求,得到数据请求元数据;其中,所述数据获取请求用于获取待导出表格展示的数据。

第六方面,本申请提供了一种表格导出系统,所述系统包括前台和后台;

所述前台,用于解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据,以及,获取所述待导出表格的表格元数据;建立所述数据请求元数据、所述表格元数据和所述待导出表格的对应关系后,将所述对应关系发送至后台;

所述后台,用于利用所述对应关系中的数据请求元数据构造数据获取请求后,基于所述数据获取请求获得所述待导出表格中的数据,以及,基于所述表格元数据,创建所述待导出表格的模板;将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。

第七方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述任一项所述的方法。

第八方面,本申请提供了一种表格导出设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述任一项所述的方法。

本申请提供了一种表格导出方法,通过从前台获取表格的数据请求元数据和表格元数据,后台利用数据请求元数据重新构造数据获取请求,并基于该数据获取请求从数据库重新获取表格中的数据;另外,后台利用表格元数据创建表格的模板,最终将获取到的数据写入模板中,完成表格的导出。可见,本申请能够自动化的完成表格导出功能,无需开发人员在后台单独维护代码,使得开发人员工作强度降低且维护成本也降低。

另外,本申请中前台动态获取数据请求元数据和表格元数据,以保证后台重新构造的数据获取请求和模板的时效性,最终保证导出的表格与前台展示的表格一致。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1A为本申请实施例提供的一种表格导出系统的整体架构示意图;

图1B为本申请实施例提供的一种表格导出方法的流程图;

图2为本申请实施例提供的一种表格导出方法的数据交互图;

图3为本申请实施例提供的一种表格导出装置的结构示意图;

图4为本申请实施例提供的另一种表格导出装置的结构示意图;

图5为本申请实施例提供的又一种表格导出装置的结构示意图;

图6为本申请实施例提供的一种表格导出设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

表格导出,是指后台将数据库中的采用表格展示的数据形成文件,如Excel文件等。目前,表格导出功能是基于开发人员在后台单独编写用于获取表格数据的请求以及单独维护表格的模板文件而实现的。一旦前台的表格元数据或者用于获取表格中数据的请求发生变化,开发人员需要随时重新修改在后台编写的用于获取表格中数据的请求以及模板文件,可见,上述表格导出方法灵活性也不足。总之,目前的表格导出方法对于开发人员来说工作强度大且维护成本高。

为此,本申请提供了一种表格导出方法,通过从前台获取表格的数据请求元数据和表格元数据,后台利用数据请求元数据重新构造数据获取请求,并基于该数据获取请求从数据库重新获取表格中的数据;另外,后台利用表格元数据创建表格的模板,最终将获取到的数据写入模板中,完成表格的导出。

可见,本申请能够自动化的完成表格导出功能,无需开发人员在后台单独维护代码,使得开发人员工作强度降低且维护成本也降低。

另外,本申请中前台动态获取数据请求元数据和表格元数据,以保证后台重新构造的数据获取请求和模板的时效性,最终保证导出的表格与前台展示的表格一致。

为了便于对本申请的技术方案的理解,以下对本申请提供的表格导出方法的整体系统架构进行简单介绍。参考图1A,为本申请实施例提供的一种表格导出系统的整体架构示意图。其中,该系统100包括前台1-n(110)和后台120,各个前台110通常为用于实现表格导出方法的客户端,后台120通常为用于实现表格导出方法的服务端。

具体的,前台110在接收到用于获取待导出表格展示的数据的数据获取请求后,对该数据获取请求进行解析,得到数据请求元数据。另外,前台110还用于获取待导出表格的表格元数据。前台110在获取到数据请求元数据和表格元数据后,将数据请求元数据、表格元数据和待导出表格建立对应关系,并发送至后台120。

由于各个前台均可以向后台120发送数据请求元数据、表格元数据和待导出表格,因此,为了便于准确实现表格的导出功能,本申请需要将发送至后台的数据请求元数据、表格元数据和待导出表格建立对应关系。

后台120在接收到数据请求元数据、表格元数据和待导出表格的对应关系后,基于数据请求元数据重新构造数据获取请求,并基于重新构造的数据获取请求获得待导出表格中的数据。另外,后台120还用于基于表格元数据创建待导出表格的模板,并将待导出表格中的数据写入该模板,得到表格文件,最终完成待导出表格的导出工作。

总之,本申请能够自动化的完成表格导出功能,无需开发人员在后台单独维护代码,使得开发人员工作强度降低且维护成本也降低。

基于上述系统架构的介绍,本申请实施例提供了一种表格导出方法,参考图1B,为本申请实施例提供的一种表格导出方法的流程图,该方法包括:

S101:前台解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据,以及,获取所述待导出表格的表格元数据。

数据获取请求,用于从后台的数据库中获取待导出表格需要展示的数据。

本申请实施例中,前台在获取到数据获取请求后,对该数据获取请求进行解析,得到该数据获取请求的数据请求元数据。其中,数据请求元数据为用于描述数据请求的数据,包括该数据获取请求的请求类型、请求路径、查询参数、分页信息等。其中,请求路径用于表明该数据获取请求对应的后台方法的路径,如URL路径;查询参数为后台过滤数据库中数据的依据,如表格名称等;分页信息,通常包括当前页数、每页条数、总记录数,实际应用中,为加快请求数据的速度,可以对数据进行分页查询,如第一次只查询前10条数据,翻页后再查询接下来的10条数据。

另外,本申请实施例还需要获取待导出表格的表格元数据,其中,表格元数据为用于描述表格的数据,包括表格本身的相关信息,如表格的格式信息,通常为表格包括哪些列,各个列的名称,各个列的转码,各个列的格式化等内容。另外,表格元数据还可以包括列对应的数据库字段、列的宽度、列的次序、列中数据的类型、转码规则信息等内容,其中,转码规则信息用于将某些无意义的数据转义为有意义的内容,例如数据库中存放的S和F,依据转码规则信息转义的内容分别为成功和失败。

一种可选的实现方式中,获取待导出表格的表格元数据,具体可以为,待导出表格记录并提供自身的表格元数据。另外,本申请实施例对于获取表格元数据的方式不做限定。

S102:所述前台建立所述数据请求元数据、所述表格元数据和所述待导出表格的对应关系后,将所述对应关系发送至后台。

本申请实施例中,前台在获取到待导出表格的数据请求元数据和表格元数据后,将数据请求元数据和表格元数据与待导出表格进行绑定,得到数据请求元数据、表格元数据和待导出表格的对应关系,并将该对应关系发送至后台,用于实现待导出表格的导出功能。

例如,数据请求元数据包括请求类型、请求路径、查询参数、分页信息,表格元数据包括表格包括哪些列,各个列的名称,各个列的转码,则将上述请求类型、请求路径、查询参数、分页信息、表格包括哪些列,各个列的名称,各个列的转码以及待导出表格的标识进行绑定,以实现对数据请求元数据、表格元数据和待导出表格的对应关系的建立,后续基于该对应关系可以完成对该待导出表格的导出工作。

S103:所述后台利用所述对应关系中的数据请求元数据构造数据获取请求后,基于所述数据获取请求获得所述待导出表格中的数据,以及,基于所述表格元数据,创建所述待导出表格的模板。

本申请实施例中,后台在接收到来自前台的对应关系后,获取该对应关系中的数据请求元数据,并利用该数据请求元数据构造数据获取请求。具体的,后台利用请求路径、查询参数、分页信息等请求元数据,重新构造新的数据获取请求,用于从数据库中获取待导出表格中的数据。

一种可选的实现方式中,后台可以根据请求元数据中的请求类型和URL地址等动态创建一个请求对象,然后根据请求元数据中的查询参数构造该请求对象的查询条件等,最终完成数据获取请求的构造。另外,本申请对于利用请求元数据构造数据获取请求的方式不做限定。

实际应用中,后台基于重新构造的数据获取请求,从数据库中重新获取待导出表格中的数据,用于后续实现表格导出功能。

本申请实施例中,后台获取接收到的对应关系中的表格元数据后,利用该表格元数据,创建待导出表格的模板。一种可选的实施方式中,后台根据表格元数据中列的名称、宽度、次序等绘制模板所需的表头;然后,根据表格元数据中列对应的数据库字段和次序等对需要导出的数据进行筛选并排序,保证数据和表头的每个列都能进行对应;最后,根据数据的类型和转码信息等对需要导出的数据进行转化,进而得到待导出表格的模板。

值得注意的是,本申请实施例对于后台构造数据获取请求以及创建模板的执行先后顺序不作限定。

S104:所述后台将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。

本申请实施例中,后台在基于重新构造的数据获取请求获取到待导出表格的数据,以及创建待导出表格的模板后,将待导出表格的数据写入模板中,得到表格文件,完成表格导出。其中,对表格进行导出得到的表格文件可以为Excel文件、wps文件、pdf文件、txt文件等。

本申请实施例提供的表格导出方法中,通过从前台获取表格的数据请求元数据和表格元数据,后台利用数据请求元数据重新构造数据获取请求,并基于该数据获取请求从数据库重新获取表格中的数据;另外,后台利用表格元数据创建表格的模板,最终将获取到的数据写入模板中,完成表格的导出。本申请实施例能够自动化的完成表格导出功能,无需开发人员在后台单独维护代码,使得开发人员工作强度降低且维护成本也降低。

以下以一种具体的实施方式为例对本申请提供的表格导出方法进行介绍,参考图2,为本申请实施例提供的一种表格导出方法的数据交互图。该方法包括:

S201:当用户访问任一表格的页面时,前台向后台发送用于获取该表格所需展示的数据的数据获取请求。

S202:前台接收来自后台的数据,并将在页面上采用该表格展示该数据。

S203:前台解析该数据获取请求,得到数据请求元数据。

S204:前台调用表格的前台导出方法,获取该表格的表格元数据。

S205:前台建立数据请求元数据、表格元数据和该表格的对应关系后,将该对应关系发送至后台。

S206:后台利用所述数据请求元数据构造N个数据获取请求。

S207:后台创建N个线程,每个线程利用一个数据获取请求从数据库中获取分页编号对应的数据。

一种可选的实施方式中,N个线程以一对一的方式分别利用N个数据获取请求,从数据库中并行分页获取表格中的数据。

S208:后台将分页获取到的该表格中的数据按照分页编号顺序进行组装。

本申请实施例中,如果表格中数据的数据量较大,则可以利用多个线程并行完成表格中数据的获取。具体的,创建多个线程,并为每个线程分配一个构造的数据获取请求,其中,各个数据获取请求中携带分页编号。例如数据获取请求中携带1-10的分页编号,则被分配该数据获取请求的线程负责获取该表格中1-10页的数据,另一个数据获取请求中携带11-20的分页编号,则被分配该数据获取请求的线程负责获取该表格中11-20页的数据,以此类推,最终完成该表格中所有页的数据的获取。

实际应用中,在完成表格中各页数据的获取后,按照分页编号将各页的数据进行组装,最终得到该表格中所有的数据。

S209:后台基于表格元数据,创建该表格的模板。

S210:后台将组装后的该表格中的数据写入该模板,得到表格文件,以实现表格的导出。

本申请实施例提供的表格导出方法中,前台动态获取数据请求元数据和表格元数据,能够保证后台重新构造的数据获取请求和模板的时效性,最终保证导出的表格与前台展示的表格一致。

与上述方法实施例相对应的,本申请还提供了一种表格导出装置,参考图3,为本申请实施例提供的一种表格导出装置的结构示意图,该装置包括:

第一接收模块301,用于接收前台获取到的待导出表格的数据请求元数据和表格元数据;

构造模块302,用于利用所述数据请求元数据构造数据获取请求;

第一获得模块303,用于基于所述数据获取请求获得所述待导出表格中的数据;

创建模块304,用于基于所述表格元数据,创建所述待导出表格的模板;

写入模块305,用于将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。

一种可选的实施方式中,所述构造模块302,具体用于:

利用所述数据请求元数据构造N个数据获取请求;

相应的,所述第一获得模块303,包括:

获得子模块,用于基于所述N个数据获取请求,分别利用N个预先创建的线程以一对一的方式并行分页获得所述待导出表格中的数据;

组装子模块,用于将所述获得子模块分页获得的所述待导出表格中的数据按照分页编号顺序进行组装。

与上述方法实施例相对应的,本申请还提供了一种表格导出装置,参考图4,为本申请实施例提供的另一种表格导出装置的结构示意图,该装置包括:

解析模块401,用于解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据;

获取模块402,用于获取所述待导出表格的表格元数据;

发送模块403,用于建立所述数据请求元数据、所述表格元数据和所述待导出表格的对应关系后,将所述对应关系发送至后台,以便所述后台基于所述对应关系实现所述待导出表格的导出。

其中,所述解析模块401,具体用于:

在向后台发送数据获取请求时,解析所述数据获取请求,得到数据请求元数据;其中,所述数据获取请求用于获取待导出表格展示的数据。

另外,与上述方法实施例相对应的,本申请实施例还提供了一种表格导出系统,参考图5,为本申请实施例提供的表格导出系统的结构示意图,所述系统包括前台501和后台502;

所述前台501,用于解析用于获取待导出表格展示的数据的数据获取请求,得到数据请求元数据,以及,获取所述待导出表格的表格元数据;建立所述数据请求元数据、所述表格元数据和所述待导出表格的对应关系后,将所述对应关系发送至后台;

所述后台502,用于利用所述对应关系中的数据请求元数据构造数据获取请求后,基于所述数据获取请求获得所述待导出表格中的数据,以及,基于所述表格元数据,创建所述待导出表格的模板;将所述待导出表格中的数据写入所述模板,得到表格文件,以实现所述待导出表格的导出。

本申请实施例提供的表格导出装置和系统,通过从前台获取表格的数据请求元数据和表格元数据,后台利用数据请求元数据重新构造数据获取请求,并基于该数据获取请求从数据库重新获取表格中的数据;另外,后台利用表格元数据创建表格的模板,最终将获取到的数据写入模板中,完成表格的导出。本申请实施例能够自动化的完成表格导出功能,无需开发人员在后台单独维护代码,使得开发人员工作强度降低且维护成本也降低。

另外,前台动态获取数据请求元数据和表格元数据,能够保证后台重新构造的数据获取请求和模板的时效性,最终保证导出的表格与前台展示的表格一致。

另外,本申请实施例还提供了一种表格导出设备,参见图6所示,可以包括:

处理器601、存储器602、输入装置603和输出装置604。表格导出设备中的处理器601的数量可以一个或多个,图6中以一个处理器为例。在本发明的一些实施例中,处理器601、存储器602、输入装置603和输出装置604可通过总线或其它方式连接,其中,图6中以通过总线连接为例。

存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行表格导出设备的各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置603可用于接收输入的数字或字符信息,以及产生与表格导出设备的用户设置以及功能控制有关的信号输入。

具体在本实施例中,处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现上述表格导出方法中的各种功能。

另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的表格导出方法。

可以理解的是,对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请实施例所提供的一种表格导出方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种替换关键词的稿件生成方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!