数据表动态导出方法、装置、计算机设备及存储介质与流程

文档序号:16390416发布日期:2018-12-22 11:24阅读:135来源:国知局
数据表动态导出方法、装置、计算机设备及存储介质与流程
本发明涉及数据处理领域,尤其涉及一种数据表动态导出方法、装置、计算机设备及存储介质。
背景技术
在项目开发过程中,经常会有将数据导出成excel格式的数据表的业务需求,尤其是需要将数据导出成多张excel格式的数据表,即需要将数据分页导出,使得每一张数据表包含不同导出字段的数据。在将数据分页导出时,每一张数据表的导出,均需要编写相应的代码,使得代码编写的工作量大,增加项目开发的工作量,从而降低项目开发的效率。而且,在数据分页导出时,分页的顺序修改、新增或删除等分页内容变更均需要修改代码,使得数据分页导出的工作量较大。另外,在将数据分页导出时,每一分页导出的数据表中导出字段的顺序调整、增加、删除和修改等字段变更,也需要修改代码,使得数据分页导出的工作量增加。综上,在项目开发过程中将数据分页导出时,需编写或修改相应的代码,极大增加项目开发的工作量,也容易导致项目开发出错,影响项目开发的质量和效率。技术实现要素:本发明实施例提供一种数据表动态导出方法、装置、计算机设备及存储介质,以解决当前数据分页导出时工作量较大且容易出错的问题。一种数据表动态导出方法,包括:获取数据导出请求,所述数据导出请求包括目标数据表id;基于所述目标数据表id查询数据库,获取与所述目标数据表id相对应的目标配置表,所述目标配置表包括至少两个目标配置数据,每一所述目标配置数据包括表格id、源表id和导出字段;遍历所述目标配置表中的每一所述目标配置数据,基于所述源表id和所述导出字段,获取与所述表格id相对应的目标查询语句;基于所述目标查询语句获取目标数据,并将所述目标数据存储在excel表中,获取并导出与所述表格id相对应的目标分页表。一种数据表动态导出装置,包括:导出请求获取模块,用于获取数据导出请求,所述数据导出请求包括目标数据表id;目标配置表获取模块,用于基于所述目标数据表id查询数据库,获取与所述目标数据表id相对应的目标配置表,所述目标配置表包括至少两个目标配置数据,每一所述目标配置数据包括表格id、源表id和导出字段;查询语句获取模块,用于遍历所述目标配置表中的每一所述目标配置数据,基于所述源表id和所述导出字段,获取与所述表格id相对应的目标查询语句;目标分页表获取模块,用于基于所述目标查询语句获取目标数据,并将所述目标数据存储在excel表中,获取并导出与所述表格id相对应的目标分页表。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据表动态导出方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据表动态导出方法的步骤。上述数据表动态导出方法、装置、计算机设备及存储介质,根据数据导出请求中的目标数据表id可快速查询获取到目标配置表;由于目标配置表中包含至少两个目标配置数据,根据每一目标配置数据中的源表id和导出字段可自动快速获取对应的目标查询语句,此过程无需人工干预,有助于提高数据导出的效率;基于每一目标查询语句查询获取目标数据,将该目标数据存储在excel表中,即可获取并导出对应的目标分页表。由于每一目标配置表中包括至少两个目标配置数据,每一目标配置数据可导出一目标分页表,使得每一数据导出请求可快速导出至少两个目标分页表,其过程无需编写或修改代码,有利于提高数据分页导出的效率。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例中数据表动态导出方法的一应用环境示意图;图2是本发明一实施例中数据表动态导出方法的一流程图;图3是本发明一实施例中数据表动态导出方法的另一流程图;图4是本发明一实施例中数据表动态导出方法的另一流程图;图5是本发明一实施例中数据表动态导出方法的另一流程图;图6是本发明一实施例中数据表动态导出方法的另一流程图;图7是本发明一实施例中数据表动态导出方法的另一流程图;图8是本发明一实施例中数据表动态导出装置的一示意图;图9是本发明一实施例中计算机设备的一示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供的数据表动态导出方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信,用于基于客户端上传的数据导出请求,使服务器执行数据表动态导出的操作。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一实施例中,如图2所示,提供一种数据表动态导出方法,以该方法应用在图1中的服务器为例进行说明,该数据表动态导出方法,包括如下步骤:s10:获取数据导出请求,数据导出请求包括目标数据表id。其中,数据导出请求是用于触发服务器进行数据表动态导出处理的请求。目标数据表id是本次数据导出请求所对应的数据表id,而数据表id是用于唯一识别配置表的标识。本实施例中,数据库中预先存储有多个配置表,每一配置表对应一数据表id,以便后续基于该数据表id查询获取对应的配置表。具体地,数据库中预先存储至少一个配置表,该配置表为用户根据业务需求预先配置并进行去重和合规校验后的合规配置表,以避免后续基于该配置表进行数据表动态导出时出现错误,从而保证数据表动态导出的顺利进行。其中,合规配置表是预先经过去重处理和合规校验获取的配置表。本实施例中,服务器中预先配置有可实现数据表动态导出的脚本(即计算机程序),在项目开发过程中,若需要进行数据分页导出时,用户可通过点击客户端上“数据导出”按钮或者通过命令行输入相应的控制指令,从而触发该数据导出请求,并将该数据导出请求发送给服务器,以使服务器接收到该数据导出请求,从而使服务器预先配置的脚本可根据该数据导出请求执行数据表动态导出的操作。s20:基于目标数据表id查询数据库,获取与目标数据表id相对应的目标配置表,目标配置表包括至少两个目标配置数据,每一目标配置数据包括表格id、源表id和导出字段。目标配置表是基于目标数据表id查询数据库后,获取到的与目标数据表id相对应的合规配置表。具体地,服务器以目标数据表id作为查询字段,执行与该查询字段相对应的查询语句,从数据库中获取与目标数据表id相对应的目标配置表。目标配置数据是目标配置表中预先配置好的配置数据,每一目标配置数据可对应导出一张数据表。即目标配置表中包括至少两个目标配置数据,使得该目标配置表可相应导出至少两张数据表,可实现数据分页导出。具体地,每一目标配置数据包括表格id、源表id和导出字段,还可以包括表格名称,如下表一所示。其中,表格id是用于唯一识别数据分页导出后每一数据表的标识,如表一中的sheet_1和sheet_2。源表id是用于唯一识别所要进行数据导出的源数据集的标识,如表一中的1001和1002。该源数据集是用于存储原始数据的数据表,是需要进行数据导出的数据来源。导出字段用于限定分页导出后的数据表所包含的字段,如表一中的name、age和city等。该导出字段需为源表id对应的源数据集中存在的字段,以避免数据无法顺利导出的问题。表格名称用于限定分页导出后的数据表的表格名称,如表一中“结果导出分页1”是基于该sheet_1这一条目标配置数据进行数据分页导出后形成的数据表的名称。本实施例中,目标配置表中,表格id依据目标配置表中的行数依次递增,使得其表格id具有唯一性,避免存在完全相同的两个表格id,使得后续进行数据分页导出时,无法唯一确定其对应的目标配置数据。表一目标配置表表格id表格名称源表id导出字段sheet_1结果导出分页11001name,age,citysheet_2结果导出分页21002name,level,……,groups30:遍历目标配置表中的每一目标配置数据,基于源表id和导出字段,获取与表格id相对应的目标查询语句。具体地,服务器遍历目标配置表中的至少两个目标配置数据,基于每一目标配置数据中的源表id和导出字段,获取一目标查询语句,使得该目标查询语句与其表格id相对应。本实施例中,源表id可唯一确定其对应的源数据集,导出字段可限定分页导出后的数据表所包含的内容,基于该源表id和导出字段可生成对应的目标查询语句,使得每一目标查询语句可对应导出一张数据表。s40:基于目标查询语句获取目标数据,并将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。其中,目标数据是指采用源表id和导出字段形成的目标查询语句,查询源表id对应的源数据集,获取源数据集中与导出字段相对应的数据。目标分页表是基于目标数据形成的excel表,是服务器执行数据分页导出操作后获取到的数据表。每一目标配置数据对应一目标分页表,本实施例中,目标配置表中的目标配置数据包括至少两个,使得其目标分页表包括至少两个。具体地,服务器在基于目标查询语句查询源表id对应的源数据集,获取目标数据后,将该目标数据存储在excel表中,从而生成与表格id相对应的目标分页表,并将该目标分页表导出。由于本次数据导出请求中的目标数据表id包含至少两个目标配置数据,每一目标配置数据可生成并导出一目标分页表,使得服务器在本次数据导出请求触发下执行步骤s20-s40的步骤,可实现动态导出至少两个目标分页表的目的,此过程可通过服务器预先配置的脚本自动执行,无需编写或修改代码,减少代码开发量,并有助于减少代码发生错误的概率,从而有利于提高数据分页导出的效率,保障项目开发的进度。进一步地,在导出目标分页表之后,用户可基于目标分页表中每一列的内容和列与列之间的顺序,定位出目标配置数据是否出现问题。具体地,用户可直观地看出目标分页表中的每一列的内容以及列与列之间的顺序,若每一列的内容为空或者列与列之间的顺序有问题,可直接定位到该目标配置表中与该目标分页表对应的目标配置数据可能出现错误,无需查阅代码以寻找问题的原因,有助于提高项目开发的效率。本实施例所提供的数据表动态导出方法中,根据数据导出请求中的目标数据表id可快速查询获取到目标配置表;由于目标配置表中包含至少两个目标配置数据,根据每一目标配置数据中的源表id和导出字段可自动快速获取对应的目标查询语句,此过程无需人工干预,有助于提高数据导出的效率;基于每一目标查询语句查询获取目标数据,将该目标数据存储在excel表中,即可获取并导出对应的目标分页表。由于每一目标配置表中包括至少两个目标配置数据,每一目标配置数据可导出一目标分页表,使得每一数据导出请求可快速导出至少两个目标分页表,其过程无需编写或修改代码,有利于提高数据分页导出的效率。本实施例所提及的“动态导出”是指服务器预先配置的脚本的初始代码完成后,后续基于该脚本进行数据分页导出时,无需修改该脚本的代码,只需调整目标配置表的内容,有助于大量减少数据分页导出过程中代码的编写和修改的工作量。在一实施例中,步骤s30中基于源表id和导出字段,获取与表格id相对应的目标查询语句,具体包括如下步骤:采用sql查询语句生成规则对源表id和导出字段进行处理,获取与表格id相对应的目标查询语句。其中,sql查询语句生成规则是预先设置的用于根据源表id和导出字段生成sql查询语句的规则。本实施例中,sql查询语句生成规则具体为“select导出字段from源表id”,基于该sql查询语句生成规则可快速对源表id和导出字段进行处理,以生成目标查询语句。如表一所示,对于sheet_1这一目标配置数据,在采用sql查询语句生成规则对源表id和导出字段进行处理时,可获取到“selectname,age,cityfrom1001”这一目标查询语句。相应地,在步骤s40中,服务器通过执行“selectname,age,cityfrom1001”这一目标查询语句,可从源表id为1001对应的源数据集中,查询获取到name,age和city这三个导出字段对应的目标数据,将name,age和city这三个导出字段和其对应的目标数据存储在excel表中,即可生成与sheet_1这一表格id对应的目标分页表,该目标分页表可以表格名称进行命名。本实施例中,由于服务器存储有sql查询语句生成规则,使得其可基于目标配置表中的每一目标配置数据自动生成相应的目标查询语句,无需人工编写相应的代码,以提高后续基于该目标查询语句获取目标数据,以获取并导出目标分页表的效率。可以理解地,步骤s30中遍历目标配置表中的每一目标配置数据时,通过服务器后台解析每一目标配置数据,通过sql查询语句生成规则对其源表id和导出字段进行处理,可在服务器后台获取到相应的目标查询语句,无需项目开发人员根据不同导出字段和源表id编写相应的查询语句,减少项目开发人员编写代码的工作量,也有利于降低人工编写代码出错的概率。在一实施例中,如图3所示,步骤s40中的基于目标查询语句获取目标数据,并将目标数据存储在excel表中,具体包括如下步骤:s41:基于目标查询语句查询与源表id相对应的源数据集,从源数据集中获取与导出字段相对应的目标数据。具体地,服务器在根据每一目标配置数据中的源表id和导出字段获取到对应的目标查询语句之后,可利用该目标查询请求查询与源表id对应的源数据集,如表一中1001对应的源数据集,以从该源数据集中获取导出字段对应的内容作为目标数据。s42:采用java反射原理将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。java反射原理是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。本实施例中,服务器预先采用java语言编写预先配置的脚本时,使得该脚本在执行过程中,可在根据目标查询语句获取与导出字段相对应的目标数据后,采用java反射原理将导出字段和目标数据存储在一excel表中,以获取到与表格id相对应的目标分页表,并将目标分页表导出。如表一中,服务器遍历目标配置表,首先遍历sheet_1这一个目标配置数据,在基于源表id和name,age和city这三个导出字段获取到目标查询语句之后,根据目标查询语句,先获取源表id对应的源数据集list_1,根据导出字段name,age和city,采用java反射原理得到name,age和city这三个导出字段在源数据集list_1中的具体内容作为目标数据,在excel表中依次填写name,age和city这三个导出字段对应的目标数据,以形成一目标分页表。然后,遍历sheet_2这一个目标配置数据以获取对应的目标分页表,直至该目标配置表中所有目标配置数据均获取到相对应的目标分页表之后,将所有目标分页表导出。本实施例中,预先采用java语言编写好可实现数据分页导出的脚本的初始代码后,在服务器接收到数据导出请求后,触发该脚本运行,以执行在根据数据导出请求获取目标配置表中的至少两个目标配置数据,根据每一目标配置数据中的源表id和导出字段获取相应的目标查询语句后,基于该数据查询语句获取目标数据,采用java反射原理将目标数据存储在excel表中,以获取与该目标配置数据相对应的目标分页表。本实施例中,服务器中预先设置的脚本在完成初始代码编写之后,在执行脚本以实现数据分页导出的过程中,无需编写或修改该脚本的代码,即可依据目标配置表的内容,实现至少两个目标分页表的动态导出,使得数据分页导出过程中代码编写或修改的工作量大幅减少,有利于提高项目开发的效率。在一实施例中,由于数据分页导出时,需要基于数据导出请求中的目标数据表id查询数据库,获取与该目标数据表相对应的目标配置表,因此,需要预先创建存储有至少一个配置表的数据库,每一配置表对应的一数据表id。如图4所示,即在步骤s10中的获取数据导出请求的步骤之前,该数据表动态导出方法还包括:s51:获取分页配置请求,分页配置请求包括原始配置表,原始配置表包括至少两个原始配置数据,每一原始配置数据包括表格id、源表id和导出字段。其中,分页配置请求是用于触发服务器配置可进行数据分页导出的配置表的请求。原始配置表是用户根据自身业务需求自行配置的配置表。原始配置数据是原始配置表中用户自行配置的配置数据,可用户根据自身业务需求确定需要分页导出的数据表的信息。每一原始配置数据包括表格id、源表id和导出字段,还可以包括表格名称,如表二所示。表格id是用于唯一识别依据该原始配置数据进行数据分页导出后的数据表的标识。源表id是用于唯一识别所要进行数据分页导出的源数据集的标识。导出字段是用于限定分页导出的数据表所要包含的字段。表格名称用于限定数据分页导出后每一数据表的名称。本实施例中,用户可通过客户端给服务器发送一分页配置请求,该分页配置请求中携带如表二所示的原始配置表,使得服务器获取该原始配置表。在该原始配置表中,原始配置数据的数量为本次分页配置请求所需要进行数据分页导出的数据表的数量。原始配置表中的导出字段之间的顺序即为数据分页导出形成的数据表中字段之间的顺序。表二原始配置表表格id表格名称源表id导出字段sheet_1结果导出分页11001name,age,citysheet_2结果导出分页21002name,level,……,groupsheet_3结果导出分页11001name,age,citysheet_4结果导出分页41001name,city,agesheet_5结果导出分页51001name,age,citysheet_6结果导出分页61002name;level;……;groups52:对原始配置表中的至少两个原始配置数据进行去重处理,获取第一配置表。由于本次分页配置请求中的原始配置表是用户自主上传的配置表,在原始配置表中配置的原始配置数据的数量较多时,可能存在重复配置的现象,使得后续直接基于该原始配置表进行数据分页导出时,可能出现重复导出而影响导出效率的问题,因此,在获取到每一分页配置请求后,服务器需对该分页配置请求携带的原始配置表中的至少两个原始配置数据进行去重处理,获取第一配置表。其中,第一配置表是对原始配置表中的原始配置数据进行去重处理后得到的配置表。具体地,对至少两个原始配置数据进行去重处理,是指对原始配置数据中源表id和导出字段相同的至少两个原始配置数据进行处理,使得第一配置表中只包含其中一个原始配置数据的过程。s53:对第一配置表中的每一原始配置数据进行合规校验,获取合规校验通过的合规配置表,将合规配置表存储在数据库中。在对原始配置表进行去重处理获得的第一配置表后,该第一配置表中还包括至少一个原始配置数据,每一原始配置数据是用户自主填写的配置数据,这些原始配置数据的填写可能不符合预先设置的填写规范,使其不能被服务器预先设置的脚本执行,从而导致后续基于该第一配置表进行数据分页导出时,出现导出错误的问题。因此,步骤s53中需对第一配置表中的每一原始配置数据进行合规校验,以获取合规校验通过的合规配置表,使得该合规配置表中的每一原始配置数据均符合预先设置的填写规范,将该合规配置表存储在数据库中,以减少后续调用该数据库中的合规配置表进行数据分页导出时出现错误的概率。本实施例所提供的数据表动态导出方法中,通过对分页配置请求携带的原始配置表中至少两个原始配置数据之间进行去重处理,以获取第一配置表,以避免基于第一配置表中的至少两个原始配置数据进行数据分页导出时需执行重复导出操作,从而提高数据分页导出的效率。然后,通过对第一配置表中的每一原始配置数据进行合规校验,以保留合规校验通过的所有原始配置数据形成的合规配置表,使得后续基于该合规配置表进行数据分页导出时出错率减少,从而提高数据分页导出的效率。可以理解地,通过步骤s51-s53配置好的合规配置表存储在数据库中,每一合规配置表对应一数据表id,以使后续基于数据导出请求中的目标数据表id查询到对应的合规配置表作为目标配置表。在一实施例中,原始配置数据表格id、源表id、导出字段和表格名称。如图5所示,步骤s52中对原始配置表中的至少两个原始配置数据进行去重处理,获取第一配置表,具体包括如下步骤:s521:判断原始配置表中的至少两个原始配置数据是否存在源表id和导出字段完全相同的至少两个重复配置数据。具体地,服务器在获取到本次分页配置请求之后,获取该分页配置请求中的原始配置表(如表二所示),判断该原始配置表中的至少两个原始配置数据是否存在源表id和导出字段完全相同的至少两个重复配置数据。该至少两个重复配置数据是指源表id和导出字段完全相同的至少两个原始配置数据。由于后续在数据分页导出过程中,需基于目标配置数据中的源表id和导出字段获取目标查询语句,若存在源表id和导出字段完全相同的两个重复配置数据,可能使得其后续形成的目标查询语句相同,会导致重复操作,使得其效率降低。本实施例中,源表id和导出字段完全相同不仅包括源表id和导出字段的名称相同,还包括导出字段的顺序相同,因为导出字段的顺序决定后续数据分页导出的目标分页表中字段的顺序。如表二所示,表格id为sheet_1、sheet_3和sheet_5对应的原始配置数据中源表id和导出字段完全相同,因此,sheet_1、sheet_3和sheet_5对应的原始配置数据为重复配置数据。但sheet_4这一原始配置数据与sheet_1、sheet_3和sheet_5这三个原始配置数据的导出字段的顺序不相同,则其不是重复配置数据。s522:若存在源表id和导出字段完全相同的至少两个重复配置数据,则判断至少两个重复配置数据中的表格名称是否相同。由于后续基于源表id和导出字段会形成目标查询语句,基于每一目标查询语句均可获取一目标分页表,每一目标分页表以表格名称进行命名,因此,在存在源表id和导出字段完全相同的至少两个重复配置数据时,需判断至少两个重复配置数据中的表格名称是否相同。若至少两个重复配置数据的表格名称相同,则后续基于至少两个重复配置数据会导出内容相同且名称相同的至少两个目标分页表。若两个重复配置数据的表格名称不相同,则后续基于至少两个重复配置数据获取的两个目标分页表在导出时,会导出内容相同而名称不同的至少两个目标分页表,使得后续调用至少两个目标分页表过程中出现混乱,而且导致其数据分页导出过程中出现重复操作,降低数据分页导出的效率。s523:若至少两个重复配置数据中的表格名称相同,则保留一个重复配置数据,获取第一配置表。具体地,若至少两个重复配置数据中的表格名称相同,则说明后续基于至少两个重复配置数据的源表id和导出字段形成的目标查询语句相同,执行至少两个相同的目标查询语句获取到至少两个目标分页表的表格名称也相同,此时,只需保留一个重复配置数据,即可获取从原始配置表中去除重复配置数据的第一配置表。如表二所示,sheet_1、sheet_3和sheet_5对应的原始配置数据为重复配置数据,在这三个重复配置数据中,sheet_1和sheet_3的表格名称相同,即后续基于sheet_1和sheet_3这两个重复配置数据所形成的目标分页表的表格名称均为“结果导出分页1”,两者完全相同,因此可只保留其中一个重复配置数据,以获取第一配置表,避免后续基于该第一配置表中的原始配置数据进行数据分页导出时,需重复执行相同的操作,影响数据分页导出的效率。s524:若至少两个重复配置数据中的表格名称不相同,则生成提示信息,并将提示信息发送给触发分页配置请求的客户端,获取客户端反馈的修改信息,基于修改信息获取第一配置表。具体地,若至少两个重复配置数据中的表格名称不相同,则说明后续基于至少两个重复配置数据的源表id和导出字段形成的目标查询语句相同,执行至少两个相同的目标查询语句获取到至少两个目标分页表中的表格名称不相同,即会导出内容相同而名称不同的至少两个目标分页表,使得后续进行数据分页导出过程中进行重复操作,降低数据分页导出的效率。本实施例中,服务器在判断至少两个重复配置数据的表格名称不相同时,生成提示信息,该提示信息提示本次分页配置请求中原始配置表中存在源表id和导出字段相同,但表格名称不相同的至少两个重复数据。然后,服务器将生成的提示信息发送给触发本次分页配置请求的客户端,以使用户通过该客户端查看到该提示信息,并反馈相应的修改信息,该修改信息为删除至少两个重复配置数据中的至少一个,以保留其中一个重复配置数据。服务器在获取到客户端反馈的修改信息后,基于该修改信息获取第一配置表。步骤s521-s524中,在确定原始配置表中存在源表id和导出字段完全相同的至少两个重复配置数据之后,根据至少两个重复配置数据的表格名称是否相同,对至少两个重复配置数据进行去重处理,以获取第一配置表,以确保后续基于该第一配置表获取合规配置表后,其合规配置表中不包含重复配置数据,使得后续进行数据分页导出时避免进行重复导出操作,提高数据分页导出的效率。在一实施例中,如图6所示,步骤s53中的对第一配置表中的每一原始配置数据进行合规校验,获取合规校验通过的合规配置表,具体包括如下步骤:s531:判断第一配置表中的每一原始配置数据中,源表id对应的源数据集是否存在导出字段。具体地,服务器在对原始配置表中的原始配置数据进行去重处理获得第一配置表后,需对第一配置表中的每一原始配置数据进行合规校验,以确定第一配置表中的每一原始配置数据在后续能够被服务器预先配置的脚本执行,从而保障后续基于原始配置数据进行数据分页导出的顺利进行。由于在基于原始配置数据进行数据分页导出时,需基于源表id和导出字段形成目标查询语句,基于该目标查询语句查询获取源表id对应的源数据集,从而获取与导出字段相对应的目标数据,因此,需预先校验每一原始配置数据中,源表id对应的源数据集中是否存在原始配置数据中对应的导出字段,以避免后续进行数据分页导出时,无法导出相应数据,使得数据分页导出过程出错。s532:若源表id对应的源数据集中存在导出字段,则判断是否导出字段是否包含至少两个导出字段。具体地,在每一原始配置数据中,源表id对应的源数据集中存在该原始配置数据中设置的导出字段时,说明后续基于该原始配置数据可进行数据分页导出。每一原始配置数据中可配置一个导出字段,也可以配置至少两个导出字段,若配置有至少两个导出字段时,导出字段与导出字段之间需采用预设符号进行分隔。预设符号是预先设置的切割符号,在后续进行数据分页导出时,若服务器预先设置的脚本识别到该预设符号时,需将预设符号前后两个导出字段进行切割。本实施例中,该预设符号可采用逗号,在每一原始配置数据中任意两个导出字段之间采用逗号作为分隔符时,则该原始配置数据合规校验通过;反之,则合规校验不通过。可以理解地,在每一原始配置数据中,若源表id对应的源数据集中不存在原始配置数据设置的相应导出字段时,需生成提示信息,该提示信息提示源表id对应的源数据集中不存在对应的导出字段。进一步地,该提示信息还可显示源表id对应的源数据集中存在的所有字段,以便用户进行选择。然后,服务器将该提示信息发送给触发本次分页配置请求的客户端,以使用户通过该客户端查看到该提示信息,并反馈相应的修改信息。s533:若导出字段包含至少两个导出字段,则判断任意两个导出字段之间的分隔符是否与预设符号相匹配,若相匹配,获取获取合规校验通过的合规配置表。本实施例中,若任一原始配置数据的导出字段包含至少两个导出字段,需判断任意两个导出字段之间的分隔符是否与预设符号相匹配;若任意两个导出字段之间的分隔符与预设符号相匹配,则获取合规校验通过的合规配置表;若任意两个导出字段之间的分隔符与预设符号不相匹配,则给触发本次分页配置请求的客户端发送提示信息,以提示用户通过客户端进行修改,直至所有原始配置数据中任意两个导出字段之间的分隔符与预设符号相匹配。若预设符号为逗号,表二所示的sheet_2和sheet_4这两个原始配置数据均包含至少三个导出字段,由于sheet_2这个原始配置数据的任意两个导出字段之间采用逗号作为分隔符,与预设符号相匹配,则该原始配置数据合规校验通过;而sheet_4这个原始配置数据的任意两个导出字段之间采用分号作为分隔符,与预设符号不相匹配,则需要生成提示信息并发送给触发本次分页配置请求的客户端,以提示用户修改相应的分隔符,直至该第一配置表中所有的原始配置数据均合规校验通过时,获取合规校验通过的合规配置表。s534:若导出字段不包含至少两个导出字段,则获取合规校验通过的合规配置表。本实施例中,若任一原始配置数据表中,源表id对应的源数据集中存在导出字段,且导出字段不包含至少两个导出字段,则无需判断任意两个导出字段之间的分隔符是否与预设符号相匹配的步骤,直接确定该原始配置数据合规校验通过。在第一配置表中所有原始配置数据均合规校验通过时,获取合规校验通过的合规配置表。可以理解地,该合规配置表对应一数据表id,并将数据表id与合规配置表关联存储在数据表中,以便后续基于数据表id查询获取到对应的合规配置表。步骤s531-s534中,通过对原始配置表去重处理后获得的第一配置表中的每一原始配置数据进行合规校验,以获取合规校验通过的合规配置表,以使后续可基于该合规配置表中进行数据分页导出的顺利进行,避免数据分页导出过程中出现导出错误的问题出现。具体地,服务器先通过判断源表id对应的源数据集中是否存在对应的导出字段,以避免后续基于源表id和导出字段形成的目标查询语句无法查找到相应的目标数据的情况出现,从而保障后续数据分页导出的顺利进行。然后,服务器在源表id对应的源数据集中存在导出字段时,需保证任意两个导出字段之间的分隔符与预设符号相匹配,以使后续进行数据分页导出时,可基于预设符号进行字段分隔,有利于保障数据分页导出的顺利进行。在一实施例中,在步骤s50获取到每一合规配置表之后,给每一合规配置表配置对应的数据表id,使得每一合规配置表对应一数据表id,并将该合规配置表与数据表id关联存储在数据库中。在获取到合规配置表并将该合规配置表存储在数据库之后,用户可能根据新的业务需求或者其他需求,需对数据库中的合规配置表进行修改,以调整合规配置表中原始配置数据的顺序,或者调整每一原始配置数据中的源表id、导出字段和表格名称等内容,以使更新后的合规配置表更符合用户需求。如图7所示,在步骤s50之后,即在将合规配置表存储在数据库中的步骤之后,该数据表动态导出方法包括如下步骤:s61:获取数据修改请求,数据修改请求包括待修改数据表id和修改标识。其中,数据修改请求是用于触发服务器对合规配置表进行修改的请求。待修改数据表id用于确定本次数据修改请求所需要进行修改的合规配置表。修改标识是指需要进行修改操作的标识,每一修改标识对应有一修改函数。本实施例中,修改标识包括删除标识、增加标识和替换标识。s62:根据数据表id查询数据库,获取与数据表id相对应的合规配置表作为待修改配置表。具体地,服务器在获取到数据修改请求后,基于该数据修改请求中的数据表id查询数据库,获取与该数据表id相对应的合规配置表作为待修改配置表。该待修改配置表是本次数据修改请求所需要进行修改的合规配置表。s63:采用与修改标识相对应的修改函数对待修改配置表进行修改,获取修改后的合规配置表。具体地,服务器在获取待修改配置表之后,基于该数据修改请求中的修改标识对应的修改函数对待修改配置表进行修改,以获取修改后的合规配置数据。本实施例中,服务器在接收到数据修改请求之后,可根据该数据修改请求中的修改标识进入相应的信息修改界面,接收用户在该信息修改界面输入的修改参数,将该修改参数传递给与该修改标识相对应的修改函数之后,基于该修改函数对待修改配置表进行修改。例如,若修改标识为删除标识,则该删除标识对应的修改函数为删除函数,根据该删除标识进入相应的信息修改界面,以使用户在该信息修改界面输入相应的修改参数,如需删除一原始配置数据,则其修改参数为表格id;如需删除一原始配置数据中的某些导出字段,则其修改参数为表格id和所需删除的导出字段。服务器在接收到这些修改参数之后,将该修改参数传递其对应的删除函数,利用该删除函数对待修改配置表进行删除处理,获取修改后的合规配置表,以使修改后的合规配置表更符合用户需求。例如,若修改标识为增加标识,则该增加标识对应的修改函数为增加函数,根据该增加标识进入相应的信息修改界面,以使用户在该信息修改界面输入相应的修改参数,如需增加一原始配置数据,则其修改参数为表格id、源表id和导出字段;如需增加一原始配置数据中的导出字段,则其修改参数为表格id和所需增加的导出字段。服务器在接收到这些修改参数之后,将该修改参数传递给其对应的增加函数,利用增加函数对待修改配置表进行增加处理,获取修改后的合规配置表,以使修改后的合规配置表更符合用户需求。例如,若修改标识为替换标识,该替换标识对应的修改函数为替换函数,根据该替换标识进入相应的信息修改界面,以使用户在该信息修改界面输入相应的修改参数;如需对一原始配置数据中的表格名称进行修改,则其修改参数为表格id和替换后的表格名称;如需对一原始配置参数的导出字段进行修改,其修改参数为表格id和修改后的导出字段。服务器在接收到这些修改参数之后,将修改参数传递给其对应的替换函数,利用该替换函数对待修改配置表进行替换处理,即删除修改前该修改参数对应的内容,替换为该修改参数对应的内容,以获取修改后的合规配置表,以使修改后的合规配置表更符合用户需求。本实施例所提供的数据表动态导出方法中,用户可通过步骤s61-s63及时响应用户的需求,更新数据库中合规配置表,以使其更符合用户需求。在基于合规配置表进行数据分页导出时,服务器预先设置的可执行数据分页导出的脚本无需进行代码修改,只需对合规配置表中的原始配置参数进行修改,其过程可有效减少项目开发过程中的代码编写和修改的工作量,可有助于加快项目开发的进度。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。在一实施例中,提供一种数据表动态导出装置,该数据表动态导出装置与上述实施例中数据表动态导出方法一一对应。如图8所示,,该数据表动态导出装置包括导出请求获取模块10、目标配置表获取模块20、查询语句获取模块30和目标分页表获取模块40。各功能模块详细说明如下:导出请求获取模块10,用于获取数据导出请求,数据导出请求包括目标数据表id。目标配置表获取模块20,用于基于目标数据表id查询数据库,获取与目标数据表id相对应的目标配置表,目标配置表包括至少两个目标配置数据,每一目标配置数据包括表格id、源表id和导出字段。查询语句获取模块30,用于遍历目标配置表中的每一目标配置数据,基于源表id和导出字段,获取与表格id相对应的目标查询语句。目标分页表获取模块40,用于基于目标查询语句获取目标数据,并将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。优选地,查询语句获取模块30,用于采用sql查询语句生成规则对源表id和导出字段进行处理,获取与表格id相对应的目标查询语句。优选地,目标分页表获取模块40包括目标数据获取单元41和分页表获取单元42。目标数据获取单元41,用于基于目标查询语句查询与源表id相对应的源数据集,从源数据集中获取与导出字段相对应的目标数据。分页表获取单元42,用于采用java反射原理将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。优选地,数据表动态导出装置还包括配置请求获取单元51、去重处理单元52和合规校验单元53。配置请求获取单元51,用于获取分页配置请求,分页配置请求包括原始配置表,原始配置表包括至少两个原始配置数据,每一原始配置数据包括表格id、源表id和导出字段。去重处理单元52,用于对原始配置表中的至少两个原始配置数据进行去重处理,获取第一配置表。合规校验单元53,用于对第一配置表中的每一原始配置数据进行合规校验,获取合规校验通过的合规配置表,将合规配置表存储在数据库中。优选地,原始配置数据还包括表格名称。去重处理单元52包括重复判断子单元521、名称判断子单元522、第一去重处理单元523和第二去重处理单元524。重复判断子单元521,用于判断原始配置表中的至少两个原始配置数据是否存在源表id和导出字段完全相同的至少两个重复配置数据。名称判断子单元522,用于若存在源表id和导出字段完全相同的至少两个重复配置数据,则判断至少两个重复配置数据中的表格名称是否相同。第一去重处理单元523,用于若至少两个重复配置数据中的表格名称相同,则保留一个重复配置数据,获取第一配置表。第二去重处理单元524,用于若至少两个重复配置数据中的表格名称不相同,则生成提示信息,并将提示信息发送给触发分页配置请求的客户端,获取客户端反馈的修改信息,基于修改信息获取第一配置表。优选地,合规校验单元53包括字段存在判断子单元531、字段数量判断子单元532、第一合规校验子单元533和第二合规校验子单元534。字段存在判断子单元531,用于判断第一配置表中的每一原始配置数据中,源表id对应的源数据集是否存在导出字段。字段数量判断子单元532,用于若源表id对应的源数据集中存在导出字段,则判断是否导出字段是否包含至少两个导出字段。第一合规校验子单元533,用于若导出字段包含至少两个导出字段,则判断任意两个导出字段之间的分隔符是否与预设符号相匹配,若相匹配,获取获取合规校验通过的合规配置表。第二合规校验子单元534,用于若导出字段不包含至少两个导出字段,则获取合规校验通过的合规配置表。优选地,每一合规配置表对应一数据表id。数据表动态导出装置还包括修改请求获取单元61、待修改配置表获取单元62和配置表修改处理单元63。修改请求获取单元61,用于获取数据修改请求,数据修改请求包括数据表id、表格id和修改标识。待修改配置表获取单元62,用于根据数据表id查询数据库,获取与数据表id相对应的合规配置表作为待修改配置表。配置表修改处理单元63,用于采用与修改标识相对应的修改函数对待修改配置表进行修改,获取修改后的合规配置表。关于数据表动态导出装置的具体限定可以参见上文中对于数据表动态导出方法的限定,在此不再赘述。上述数据表动态导出装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于合规配置表和目标分页表,以及数据分页导出过程中形成的其他数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据表动态导出方法。在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取数据导出请求,数据导出请求包括目标数据表id;基于目标数据表id查询数据库,获取与目标数据表id相对应的目标配置表,目标配置表包括至少两个目标配置数据,每一目标配置数据包括表格id、源表id和导出字段;遍历目标配置表中的每一目标配置数据,基于源表id和导出字段,获取与表格id相对应的目标查询语句;基于目标查询语句获取目标数据,并将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。在一实施例中,处理器执行计算机程序时实现以下步骤:采用sql查询语句生成规则对源表id和导出字段进行处理,获取与表格id相对应的目标查询语句。在一实施例中,处理器执行计算机程序时实现以下步骤:基于目标查询语句查询与源表id相对应的源数据集,从源数据集中获取与导出字段相对应的目标数据;采用java反射原理将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。在一实施例中,在获取数据导出请求的步骤之前,处理器执行计算机程序时还实现以下步骤:获取分页配置请求,分页配置请求包括原始配置表,原始配置表包括至少两个原始配置数据,每一原始配置数据包括表格id、源表id和导出字段;对原始配置表中的至少两个原始配置数据进行去重处理,获取第一配置表;对第一配置表中的每一原始配置数据进行合规校验,获取合规校验通过的合规配置表,将合规配置表存储在数据库中。在一实施例中,原始配置数据还包括表格名称。处理器执行计算机程序时实现以下步骤:判断原始配置表中的至少两个原始配置数据是否存在源表id和导出字段完全相同的至少两个重复配置数据;若存在源表id和导出字段完全相同的至少两个重复配置数据,则判断至少两个重复配置数据中的表格名称是否相同;若至少两个重复配置数据中的表格名称相同,则保留一个重复配置数据,获取第一配置表;若至少两个重复配置数据中的表格名称不相同,则生成提示信息,并将提示信息发送给触发分页配置请求的客户端,获取客户端反馈的修改信息,基于修改信息获取第一配置表。在一实施例中,处理器执行计算机程序时实现以下步骤:判断第一配置表中的每一原始配置数据中,源表id对应的源数据集是否存在导出字段;若源表id对应的源数据集中存在导出字段,则判断是否导出字段是否包含至少两个导出字段;若导出字段包含至少两个导出字段,则判断任意两个导出字段之间的分隔符是否与预设符号相匹配,若相匹配,获取获取合规校验通过的合规配置表;若导出字段不包含至少两个导出字段,则获取合规校验通过的合规配置表。在一实施例中,每一合规配置表对应一数据表id。在将合规配置表存储在数据库中的步骤之后,处理器执行计算机程序时还实现以下步骤:获取数据修改请求,数据修改请求包括数据表id、表格id和修改标识;根据数据表id查询数据库,获取与数据表id相对应的合规配置表作为待修改配置表;采用与修改标识相对应的修改函数对待修改配置表进行修改,获取修改后的合规配置表。在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取数据导出请求,数据导出请求包括目标数据表id;基于目标数据表id查询数据库,获取与目标数据表id相对应的目标配置表,目标配置表包括至少两个目标配置数据,每一目标配置数据包括表格id、源表id和导出字段;遍历目标配置表中的每一目标配置数据,基于源表id和导出字段,获取与表格id相对应的目标查询语句;基于目标查询语句获取目标数据,并将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。在一实施例中,计算机程序被处理器执行时实现以下步骤:采用sql查询语句生成规则对源表id和导出字段进行处理,获取与表格id相对应的目标查询语句。在一实施例中,计算机程序被处理器执行时实现以下步骤:基于目标查询语句查询与源表id相对应的源数据集,从源数据集中获取与导出字段相对应的目标数据;采用java反射原理将目标数据存储在excel表中,获取并导出与表格id相对应的目标分页表。在一实施例中,在获取数据导出请求的步骤之前,计算机程序被处理器执行时还实现以下步骤:获取分页配置请求,分页配置请求包括原始配置表,原始配置表包括至少两个原始配置数据,每一原始配置数据包括表格id、源表id和导出字段;对原始配置表中的至少两个原始配置数据进行去重处理,获取第一配置表;对第一配置表中的每一原始配置数据进行合规校验,获取合规校验通过的合规配置表,将合规配置表存储在数据库中。在一实施例中,原始配置数据还包括表格名称。计算机程序被处理器执行时还实现以下步骤:判断原始配置表中的至少两个原始配置数据是否存在源表id和导出字段完全相同的至少两个重复配置数据;若存在源表id和导出字段完全相同的至少两个重复配置数据,则判断至少两个重复配置数据中的表格名称是否相同;若至少两个重复配置数据中的表格名称相同,则保留一个重复配置数据,获取第一配置表;若至少两个重复配置数据中的表格名称不相同,则生成提示信息,并将提示信息发送给触发分页配置请求的客户端,获取客户端反馈的修改信息,基于修改信息获取第一配置表。在一实施例中,计算机程序被处理器执行时实现以下步骤:判断第一配置表中的每一原始配置数据中,源表id对应的源数据集是否存在导出字段;若源表id对应的源数据集中存在导出字段,则判断是否导出字段是否包含至少两个导出字段;若导出字段包含至少两个导出字段,则判断任意两个导出字段之间的分隔符是否与预设符号相匹配,若相匹配,获取获取合规校验通过的合规配置表;若导出字段不包含至少两个导出字段,则获取合规校验通过的合规配置表。在一实施例中,每一合规配置表对应一数据表id。在将合规配置表存储在数据库中的步骤之后,计算机程序被处理器执行时还实现以下步骤:获取数据修改请求,数据修改请求包括数据表id、表格id和修改标识;根据数据表id查询数据库,获取与数据表id相对应的合规配置表作为待修改配置表;采用与修改标识相对应的修改函数对待修改配置表进行修改,获取修改后的合规配置表。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1