CN110941658A - 一种数据导出方法、装置、服务器及存储介质 - Google Patents

一种数据导出方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN110941658A
CN110941658A CN201911122651.7A CN201911122651A CN110941658A CN 110941658 A CN110941658 A CN 110941658A CN 201911122651 A CN201911122651 A CN 201911122651A CN 110941658 A CN110941658 A CN 110941658A
Authority
CN
China
Prior art keywords
data
target
export
annotation
column
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
Application number
CN201911122651.7A
Other languages
English (en)
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.)
Taikang Insurance Group Co Ltd
Original Assignee
Taikang Insurance Group Co Ltd
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 Taikang Insurance Group Co Ltd filed Critical Taikang Insurance Group Co Ltd
Priority to CN201911122651.7A priority Critical patent/CN110941658A/zh
Publication of CN110941658A publication Critical patent/CN110941658A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Abstract

本申请实施例提供了一种数据导出方法、装置、服务器及存储介质,该方法包括:确定数据表中的所有目标列;基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到数据表对应的经过配置的导出模型;基于数据表对应的经过配置的导出模型,执行数据导出操作。实现了在每一次进行数据导出时,均仅需配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到数据表对应的经过配置的导出模型,利用数据表对应的经过配置的导出模型将目标列的数据导出到目标Excel表中,从而,降低数据导出过程的开销,提升数据导出的效率。

Description

一种数据导出方法、装置、服务器及存储介质
技术领域
本申请涉及计算机领域,具体涉及数据导出方法、装置、服务器及存储介质。
背景技术
在web应用中,经常出现将诸如网页表格的数据表中的数据导出到Excel表的需求。目前,在进行数据导出时,最常用方式为利用诸如Easypoi框架提供的接口完成数据导出。每一次进行数据导出时,均需要利用相应的接口,针对每一个需要导出的列,创建与需要导出的列相关的对象,以及建立创建的各个对象之间的关联关系。例如,当利用Easypoi框架提供的接口完成数据导出时,需要针对每一个需要导出的列,创建每一个包括至少一个需要导出的列的注解的实体对象,在每一个包括至少一个需要导出的列的注解的实体对象中进一步添加其关联的实体对象对应的嵌套注解,以建立与其关联的实体对象的关联关系。
然而,每一次数据导出均需要针对每一个需要导出的列,创建与需要导出的列相关的对象,以及建立创建的各个对象之间的关联关系,导致数据导出过程的开销较大,数据导出的效率较低。
发明内容
本申请实施例提供了数据导出方法、装置。
第一方面,本申请实施例提供了数据导出方法,该方法包括:
确定数据表中的所有目标列,其中,目标列为所述数据表中的需要进行数据导出的列;
基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到所述数据表对应的经过配置的导出模型,其中,实体对象中的所有与数据导出相关的注解包括:数据表中的至少一个列的注解,列的注解的与数据导出相关的参数的参数值指示所述列是否需要进行数据导出;
基于所述数据表对应的经过配置的导出模型,执行数据导出操作,所述数据导出操作用于将每一个目标列的数据导出到目标Excel表中。
第二方面,本申请实施例提供了数据导出装置,该装置包括:
确定单元,被配置为确定数据表中的所有目标列,其中,目标列为所述数据表中的需要进行数据导出的列;
配置单元,被配置为基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到所述数据表对应的经过配置的导出模型,其中,实体对象中的所有与数据导出相关的注解包括:数据表中的至少一个列的注解,列的注解的与数据导出相关的参数的参数值指示所述列是否需要进行数据导出;
导出单元,被配置为基于所述数据表对应的经过配置的导出模型,执行数据导出操作,所述数据导出操作用于将每一个目标列的数据导出到目标Excel表中。
本申请的实施例提供的技术方案,通过确定数据表中的所有目标列,其中,目标列为所述数据表中的需要进行数据导出的列;基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到所述数据表对应的经过配置的导出模型,其中,实体对象中的所有与数据导出相关的注解包括:数据表中的至少一个列的注解,列的注解的与数据导出相关的参数的参数值指示所述列是否需要进行数据导出;基于所述数据表对应的经过配置的导出模型,执行数据导出操作,所述数据导出操作用于将每一个目标列的数据导出到目标Excel表中。实现了预先建立数据表对应的导出模型,在每一次进行数据导出时,均仅需配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到数据表对应的经过配置的导出模型,基于数据表对应的经过配置的导出模型,将每一个目标列的数据导出到目标Excel表中。从而,在每一次进行数据导出时,无需针对每一个需要导出的列,创建与需要导出的列相关的对象,以及建立创建的各个对象之间的关联关系,降低数据导出过程的开销,提升数据导出的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请实施例提供的数据导出方法的一个的流程图;
图2示出了数据导出过程的一个流程示意图;
图3示出了本申请实施例提供的数据导出装置的一个结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1是本申请实施例提供的数据导出方法的一个的流程图。该方法的各个步骤可以由服务器执行,该方法包括以下步骤:
步骤101,确定数据表中的所有目标列。
在本申请中,目标列为数据表中的需要进行数据导出的列。
在一些实施例中,确定数据表中的所有目标列包括:展示数据表中的所有列的名称;将用户从所有名称中选择出的名称所属的列作为目标列。
在本申请中,可以在运行在用户的终端上的web应用中展示数据表中的所有列的名称,由用户选择出所有需要导出的列的名称,然后,可以接收到用户的终端发送的用户选择的所有需要导出的列的名称,确定每一个需要导出的列,从而,确定所有目标列。
步骤102,基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值。
在本申请中,可以预先建立数据表对应的导出模型。数据表对应的导出模型包括多个实体对象,数据表对应的导出模型中的实体对象可以为一个类,数据表对应的导出模型中的实体对象可以为Easypoi框架中定义的实体对象。数据表对应的导出模型中的多个实体对象中的每一个实体对象可以分别对应数据表中的至少一个列。
例如,一个存储运维数据的数据表中包括CPU数量、内存、磁盘、应用业务负责人、业务名称、业务运维负责人等列,CPU数量、内存、磁盘等列中的每一列可以分别对应一个实体对象。CPU数量对应的实体对象中包括CPU数量这一列的注解。内存对应的对应的实体对象中包括内存这一列的注解。磁盘对应的对应的实体对象中包括磁盘这一列的注解。应用业务负责人、业务名称、业务运维负责人这三列均属于应用-业务这一复合列,应用-业务这一复合列对应一个实体对象,应用-业务对应的实体对象包括:应用业务负责人这一列的注解、业务名称这一列的注解、业务运维负责人这一列的注解。应用业务负责人、业务名称、业务运维负责人这三列均对应于应用-业务这一复合列对应的实体对象。
在本申请中,对于每一个实体对象,该实体对象中的每一个与数据导出相关的注解可以为以下之一:列的注解、嵌套注解。每一个嵌套注解可以为以下之一:嵌套实体注解、嵌套实体集合注解。
在本申请中,数据表对应的导出模型中的每一个实体对象包括数据表中的至少一个列的注解。列的注解可以用于描述列的特征。数据表中的列的注解可以为以为Easypoi框架中定义的@Excel注解,每一个实体对象可以包括至少一个列的@Excel注解。对于数据表中的每一个列,该列的注解的与数据导出相关的参数的参数值指示该列是否需要进行数据导出。
在本申请中,嵌套实体注解可以为Easypoi框架中定义的@ExcelEntity注解。嵌套实体集合注解可以为Easypoi框架中定义的@ExcelCollection注解。对于一个实体对象,该实体对象中的所有与数据导出相关的注解可以包括:至少一个列的@Excel注解、至少一个@ExcelEntity注解和/或至少一个@ExcelCollection注解。
在本申请中,数据表对应的导出模型可以预先定义各个实体对象之间的关联关系。各个实体对象之间的关联关系通过实体对象中的@ExcelEntity注解和/或@ExcelCollection注解进行标识。
在本申请中,对于一个列对应的实体对象,该列对应的实体对象包括该列的@Excel注解。若该列对应的实体对象与另一个列对应的实体对象相关联,则该另一个列对应的实体对象为该列对应的实体对象的一个关联实体对象,该列对应的实体对象还包括:对应于该另一个列对应的实体对象的@ExcelEntity注解。若该列对应的实体对象与一个复合列对应的实体对象相关联,则该一个复合列对应的实体对象为该列对应的实体对象的一个关联实体对象,该列对应的实体对象还包括:对应于该一个复合列对应的实体对象的@ExcelCollection注解。
在本申请中,对于每一个嵌套注解,该嵌套注解的与数据导出相关的参数的参数值指示该嵌套注解对应的关联实体对象是否参与数据导出。该嵌套注解对应的关联实体对象为该嵌套注解所在的实体对象的关联实体对象。@ExcelEntity注解的与数据导出相关的参数可以为@ExcelEntity注解的id属性,@ExcelCollection注解的与数据导出相关的参数可以为@ExcelCollection注解的name属性。
在本申请中,可以将包括至少一个目标嵌套注解的实体对象称之为目标实体对象。目标实体对象的所有与数据导出相关的注解包括:至少一个列的注解、至少一个目标嵌套注解。一个目标实体对象中的每一个嵌套注解各自对应一个关联实体对象,该每一个嵌套注解各自对应的一个关联实体对象均与该目标实体对象相关联。
在本申请中,对于每一个实体对象,该实体对象中的所有与数据导出相关的注解中的每一个与数据导出相关的注解各自具有一个与数据导出相关的参数。
在本申请中,在一次数据导出过程中,当基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值时,可以对于每一个实体对象,对该实体对象中的所有与数据导出相关的注解中的每一个与数据导出相关的注解的与数据导出相关的参数的参数值逐一进行配置。
在本申请中,在一次数据导出过程中,当基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值时,可以对于每一个目标列,将该目标列的注解中的与数据导出相关的参数的参数值配置为指示需要进行数据导出的参数值。可以对于除了所有目标列之外的每一个非目标列,将该非目标列的注解中的与数据导出相关的参数的参数值配置为指示不需要进行数据导出的参数值。
在本申请中,若一个实体对象包括至少一个目标嵌套注解,则该实体对象为一个目标实体对象。目标嵌套注解对应的关联实体对象未包括目标列的注解。
在本申请中,可以对于每一个目标实体对象,可以将该目标实体对象中的每一个目标嵌套注解的与数据导出相关的参数的参数值配置为指示该目标嵌套注解对应的关联实体对象不参与数据导出的参数值,若该该目标实体对象包括至少一个除了所有目标嵌套注解之外的非目标嵌套注解,将每一个非目标嵌套注解的与数据导出相关的参数的参数值配置为指示该非目标嵌套注解对应的关联实体对象参与数据导出的参数值。
在本申请中,非目标实体对象中的每一个嵌套注解均为非目标嵌套注解。若所有实体对象中存在至少一个除了目标实体对象之外的非目标实体对象,可以对于每一个非目标实体对象,将非目标实体对象中的每一个嵌套注解的与数据导出相关的参数的参数值配置为指示该嵌套注解对应的关联实体对象参与数据导出的参数值。
例如,对于一个实体对象中的一个嵌套注解例如一个@ExcelEntity注解或一个@ExcelCollection注解,当该嵌套注解对应的关联实体对象未包括目标列的注解时,则在本次数据导出过程中,没有具有该嵌套注解对应的关联实体对象中的注解的目标列与该实体对象中的目标列的注解所属的目标列一起导出,该嵌套注解作为一个目标嵌套注解,该嵌套注解对应的关联实体对象不参与数据导出,该嵌套注解的与数据导出相关的参数的参数值配置为指示该嵌套注解对应的关联实体对象不参与数据导出的参数值。
例如,对于一个实体对象中的一个嵌套注解例如一个@ExcelEntity注解或一个@ExcelCollection注解,当该嵌套注解对应的关联实体对象包括目标列的注解时,则该嵌套注解对应的关联实体对象中的目标列的注解所属的目标列与该实体对象中的目标列的注解所属的目标列一起导出,该嵌套注解的与数据导出相关的参数的参数值配置为指示该嵌套注解对应的关联实体对象参与数据导出的参数值。
在一些实施例中,目标列的注解的与数据导出相关的参数为目标列的注解的名称属性即name属性。
在本申请中,数据表中的每一个列的注解包括名称属性。列的注解可以为@Excel注解,每一个列的@Excel注解中的名称属性可以为列的@Excel注解中的name属性。当基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值时,可以对于每一个目标列,可以将目标列的@Excel注解中的name属性的属性值配置为指示需要进行数据导出的属性值,指示需要进行数据导出的属性值可以为目标列的名称。
在一些实施例中,基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值包括:对于数据表中的除了所有目标列之外的每一个非目标列,确定包括非目标列的注解的实体对象,其中,数据表中的每一个列的与数据导出相关的参数的参数值被预先配置为该列的与数据导出相关的参数的原始参数值,该列的与数据导出相关的参数的原始参数值指示该列需要进行数据导出;将包括非目标列的注解的实体对象中的该非目标列的注解的与数据导出相关的参数的参数值修改为指示不需要进行数据导出的参数值。
在本申请中,可以对于将数据表中的每一个列,预先将该列的注解的与数据导出相关的参数的参数值设置为该列的注解的与数据导出相关的参数的原始参数值。每一个列的注解的与数据导出相关的参数的原始参数值可以相同。每一个列的注解的与数据导出相关的参数的原始参数值均可以指示需要进行数据导出。
在本申请中,在一次数据导出过程中,当基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值时,可以对于每一个目标列,不对该目标列的注解中的与数据导出相关的参数的参数值进行修改,保持该目标列的注解中的与数据导出相关的参数的参数值为指示需要进行数据导出的原始参数值。
同时,对于除了所有目标列之外的每一个非目标列,可以对该非目标列的注解中的与数据导出相关的参数的参数值进行修改,将该非目标列的注解中的与数据导出相关的参数的参数值修改为指示不需要进行数据导出的参数值。
例如,对于除了所有目标列之外的每一个非目标列,对该非目标列的@Excel注解中的name属性的属性值进行修改,将该非目标列的@Excel注解中的name属性的属性值修改为指示不需要进行数据导出,例如,将该非目标列的@Excel注解中的name属性的属性值修改为null。
在一些实施例中,对于数据表对应的导出模型中的所有实体对象中的每一个目标实体对象,确定目标实体对象中的所有与数据导出相关的注解中的目标嵌套注解,其中,目标实体对象中的所有与数据导出相关的注解包括:至少一个目标嵌套注解,目标嵌套注解对应的关联实体对象未包括目标列的注解;将该目标嵌套注解的与数据导出相关的参数的参数值配置为指示目标嵌套注解对应的关联实体对象不参与数据导出的参数值。
在本申请中,可以预先对于来自于所有实体对象中的所有嵌套注解中的每一个嵌套注解,将该嵌套注解的与数据导出相关的参数的参数值设置为指示嵌套注解对应的关联实体对象参与数据导出的原始参数值。
在本申请中,对于一个目标实体对象,当基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值时,可以对于该目标实体对象中的除了目标嵌套注解之外的每一个嵌套注解,不对该嵌套注解中的与数据导出相关的参数的参数值进行修改,保持该嵌套注解中的与数据导出相关的参数的参数值为指示嵌套注解对应的关联实体对象参与数据导出的原始参数值。
同时,对于每一个目标嵌套注解,可以对目标嵌套注解中的与数据导出相关的参数的参数值进行修改,将目标嵌套注解中的与数据导出相关的参数的参数值修改为指示目标嵌套注解对应的关联实体对象不参与数据导出的参数值。
在本申请中,在基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值之后,可以得到数据表对应的经过配置的导出模型。
在本申请中,在数据表对应的经过配置的导出模型中,每一个目标列的注解中的与数据导出相关的参数的参数值均被配置为指示需要进行数据导出的参数值。每一个其对应的关联实体对象包括目标列的注解的嵌套注解的与数据导出相关的参数的参数值均被配置为指示嵌套注解对应的关联实体对象参与数据导出的参数值。
在一些实施例中,在基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值之前,还包括:对于每一个目标列,将预先设置的目标列的注解的与数据导出相关的参数的原始参数值进行备份。
在本申请中,可以对于数据表中的每一个列,预先将该列的注解的与数据导出相关的参数的参数值设置为该列的注解的与数据导出相关的参数的原始参数值。每一个列的注解的与数据导出相关的参数的原始参数值可以相同。在基于所有目标列,配置数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值之前,对于每一个目标列,可以将预先设置的该目标列的注解的与数据导出相关的参数的原始参数值进行备份。从而,在进行数据导出之后,可以将每一个目标列的的注解的与数据导出相关的参数的参数值恢复为预先设置的原始参数值。
步骤103,基于数据表对应的经过配置的导出模型,执行数据导出操作。
在本申请中,数据导出操作用于将每一个目标列的数据导出到目标Excel表中。
在本申请中,在数据表对应的经过配置的导出模型中,每一个目标列的注解中的与数据导出相关的参数的参数值均被配置为指示需要进行数据导出的参数值。每一个其对应的关联实体对象包括目标列的注解的嵌套注解的与数据导出相关的参数的参数值均被配置为指示嵌套注解对应的关联实体对象参与数据导出的参数值。
在本申请中,当基于数据表对应的经过配置的导出模型,执行数据导出操作时,可以由执行数据导数操作的数据导出程序基于数据表对应的经过配置的导出模型,执行数据导出操作。由执行数据导数操作的数据导出程序可以为Easypoi框架提供的数据导出程序。
在本申请中,每一个目标列的注解中的与数据导出相关的参数的参数值均为指示需要进行数据导出的参数值相当于将每一个目标列的注解标识为在进行数据导出时需要解析该注解。每一个其对应的关联实体对象包括目标列的注解的嵌套注解的与数据导出相关的参数的参数值均被配置为指示嵌套注解对应的关联实体对象参与数据导出的参数值相当于将每一个其对应的关联实体对象包括目标列的注解的嵌套注解标识为在进行数据导出时需要解析该注解。
在本申请中,执行数据导数操作的数据导出程序可以通过每一个目标列的注解中的与数据导出相关的参数的参数值均为指示需要进行数据导出的参数值,确定每一个目标列,然后,对每一个目标列的注解进行解析,将每一个目标列的数据导出到目标Excel表中。执行数据导数操作的数据导出程序可以根据每一个其对应的关联实体对象包括目标列的注解的嵌套注解的与数据导出相关的参数的参数值,确定在数据导出时每一个需要解析的嵌套注解,对每一个需要解析的嵌套注解进行解析,确定各个目标列之间的关联关系。执行数据导数操作的数据导出程序进一步按照确定出的关联关系将将每一个目标列的数据导出到目标Excel表中。
在一些实施例中,在执行数据导出操作之后,还包括:对于每一个实体对象,将实体对象的所有与数据导出相关的注解中的每一个与数据导出相关的注解的与数据导出相关的参数的参数值恢复为预先设置的该与数据导出相关的参数的原始参数值。
在本申请中,对于每一个实体对象,该实体对象的所有与数据导出相关的注解中的每一个与数据导出相关的注解的与数据导出相关的参数均各自具有一个预先设置的原始参数值。
在本申请中,在基于数据表对应的经过配置的导出模型,执行数据导出操作之后,可以对于每一个实体对象,将该实体对象的所有与数据导出相关的注解中的每一个与数据导出相关的注解的与数据导出相关的参数的参数值恢复为预先设置的该与数据导出相关的参数的原始参数值。从而,得到数据表对应的导出模型。换言之,将经过配置的导出模型恢复为数据表对应的导出模型。在下一次进行数据导出时,继续使用数据表对应的导出模型进行数据导出。
请参考图2,其示出了数据导出过程的一个流程示意图。
在服务器上预先建立数据表对应的导出模型。数据表对应的导出模型包括多个实体对象。对于每一个实体对象,该实体对象中的每一个与数据导出相关的注解可以为以下之一:列的@Excel注解、嵌套注解。每一个嵌套注解可以为以下之一:@ExcelEntity注解、@ExcelCollection注解。每一个实体对象包括数据表中的至少一个列的@Excel注解。对于数据表中的每一个列,该列的@Excel注解的与数据导出相关的参数的参数值指示该列是否需要进行数据导出。数据表对应的导出模型中的实体对象中的列的@Excel注解可以称之为原始@Excel注解,数据表对应的导出模型中的实体对象中的@ExcelEntity注解可以称之为原始@ExcelEntity注解,数据表对应的导出模型中的实体对象中的@ExcelCollection注解可以称之为原始@ExcelCollection注解。
在进行数据导出之前,用户在web应用中选择数据表中的需要导出的列的名称,web应用将所有需要导出的列的名称发送至服务器。
在服务器上根据数据表中的所有需要导出的列的名称,确定数据表中的所有目标列。
在服务器上可以根据所有目标列,根据所有目标列,配置各个实体对象中的@Excel、@ExcelEntity、@ExcelCollection中的与数据导出相关的参数的参数值,得到数据表对应的经过配置的导出模型。
在服务器中由数据导出程序根据数据表对应的经过配置的导出模型,执行用于将每一个需要导出的列的数据导出到目标Excel表的数据导出操作。
在执行数据导出操作之后,无论数据导出是否成功,将数据表对应的模型中的每一个实体对象中的所有与数据导出相关联的@Excel注解、@ExcelEntity注解、@ExcelCollection注解的与数据导出相关的参数的参数值恢复为原始参数值。从而,得到数据表对应的导出模型。换言之,将经过配置的导出模型恢复为数据表对应的导出模型。在下一次进行数据导出时,继续使用数据表对应的导出模型进行数据导出。
请参考图3,其示出本申请实施例提供的数据导出装置的一个结构示意图。本申请实施例提供的数据导出装置中的各个单元被配置为完成的操作的具体实现方式可以参考方法实施例中描述的相应的操作的具体实现方式。
如图3所示,数据导出装置包括:确定单元301,配置单元302,导出单元303。
确定单元301,被配置为确定数据表中的所有目标列,其中,目标列为所述数据表中的需要进行数据导出的列;
配置单元302,被配置为基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到所述数据表对应的经过配置的导出模型,其中,实体对象中的所有与数据导出相关的注解包括:数据表中的至少一个列的注解,列的注解的与数据导出相关的参数的参数值指示所述列是否需要进行数据导出;
导出单元303,被配置为基于所述数据表对应的经过配置的导出模型,执行数据导出操作,所述数据导出操作用于将每一个目标列的数据导出到目标Excel表中。
在一些实施例中,配置单元302包括:列的注解配置模块,被配置为对于所述数据表中的除了所有目标列之外的每一个非目标列,确定包括所述非目标列的注解的实体对象,其中,所述数据表中的每一个列的与数据导出相关的参数的参数值被预先配置为所述参数的原始参数值,所述参数的原始参数值指示所述列需要进行数据导出;将所述实体对象中的所述非目标列的注解的与数据导出相关的参数的参数值修改为指示不需要进行数据导出的参数值。
在一些实施例中,配置单元302包括:嵌套注解配置模块,被配置为对于所述数据表对应的导出模型中的所有实体对象中的每一个目标实体对象,确定所述目标实体对象中的所有与数据导出相关的注解中的目标嵌套注解,其中,目标实体对象中的所有与数据导出相关的注解包括:至少一个目标嵌套注解,所述目标嵌套注解对应的关联实体对象未包括目标列的注解;将所述目标嵌套注解的与数据导出相关的参数的参数值配置为指示目标嵌套注解对应的关联实体对象不参与数据导出的参数值。
在一些实施例中,数据导出装置还包括:备份单元,被配置为在基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值之前,将预先设置的所述目标列的注解的与数据导出相关的参数的原始参数值进行备份。
在一些实施例中,数据导出装置还包括:恢复单元,被配置为在基于所述数据表对应的经过配置的导出模型,执行数据导出操作之后,对于所述数据表对应的导出模型中的每一个实体对象,将所述实体对象的所有与数据导出相关的注解中的每一个与数据导出相关的注解的与数据导出相关的参数的参数值恢复为预先设置的所述与数据导出相关的参数的原始参数值。
在一些实施例中,确定单元301包括:目标列确定模块,被配置为展示所述数据表中的所有列的名称;将用户从所有名称中选择出的名称所属的列作为所述目标列。
在一些实施例中,所述目标列的注解的与数据导出相关的参数为所述目标列的注解的名称属性。
本申请还提供了一种服务器,该服务器可以配置有一个或多个处理器;存储器,用于存储一个或多个程序,一个或多个程序中可以包括用以执行上述实施例中描述的操作的指令。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例中描述的操作的指令。
本申请还提供了一种计算机可读介质,该计算机可读介质可以是服务器中所包括的;也可以是单独存在,未装配入服务器中。上述计算机可读介质承载有一个或者多个程序,当一个或者多个程序被服务器执行时,使得服务器执行上述实施例中描述的操作。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包括或存储程序的有形介质,该程序可以被消息执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多方面形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由消息执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包括的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行消息。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机消息的组合来实现。
以上描述仅为本请求的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术实施例,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术实施例。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术实施例。

Claims (10)

1.一种数据导出方法,其特征在于,所述方法包括:
确定数据表中的所有目标列,其中,目标列为所述数据表中的需要进行数据导出的列;
基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到所述数据表对应的经过配置的导出模型,其中,实体对象中的所有与数据导出相关的注解包括:数据表中的至少一个列的注解,列的注解的与数据导出相关的参数的参数值指示所述列是否需要进行数据导出;
基于所述数据表对应的经过配置的导出模型,执行数据导出操作,所述数据导出操作用于将每一个目标列的数据导出到目标Excel表中。
2.根据权利要求1所述的方法,其特征在于,所述基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值包括:
对于所述数据表中的除了所有目标列之外的每一个非目标列,确定包括所述非目标列的注解的实体对象,其中,所述数据表中的每一个列的与数据导出相关的参数的参数值被预先配置为所述参数的原始参数值,所述参数的原始参数值指示所述列需要进行数据导出;将所述实体对象中的所述非目标列的注解的与数据导出相关的参数的参数值修改为指示不需要进行数据导出的参数值。
3.根据权利要求2所述的方法,其特征在于,基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值包括:
对于所述数据表对应的导出模型中的所有实体对象中的每一个目标实体对象,确定所述目标实体对象中的所有与数据导出相关的注解中的目标嵌套注解,其中,目标实体对象中的所有与数据导出相关的注解包括:至少一个目标嵌套注解,所述目标嵌套注解对应的关联实体对象未包括目标列的注解;将所述目标嵌套注解的与数据导出相关的参数的参数值配置为指示目标嵌套注解对应的关联实体对象不参与数据导出的参数值。
4.根据权利要求1-3之一所述的方法,其特征在于,在基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值之前,所述方法还包括:
对于每一个目标列,将预先设置的所述目标列的注解的与数据导出相关的参数的原始参数值进行备份。
5.根据权利要求4所述的方法,其特征在于,在基于所述数据表对应的经过配置的导出模型,执行数据导出操作之后,所述方法还包括:
对于所述数据表对应的导出模型中的每一个实体对象,将所述实体对象的所有与数据导出相关的注解中的每一个与数据导出相关的注解的与数据导出相关的参数的参数值恢复为预先设置的所述与数据导出相关的参数的原始参数值。
6.根据权利要求5所述的方法,其特征在于,所述确定数据表中的所有目标列包括:
展示所述数据表中的所有列的名称;
将用户从所有名称中选择出的名称所属的列作为所述目标列。
7.根据权利要求6所述的方法,其特征在于,所述目标列的注解的与数据导出相关的参数为所述目标列的注解的名称属性。
8.一种数据导出装置,其特征在于,所述装置包括:
确定单元,被配置为确定数据表中的所有目标列,其中,目标列为所述数据表中的需要进行数据导出的列;
配置单元,被配置为基于所述所有目标列,配置所述数据表对应的导出模型中的每一个实体对象中的所有与数据导出相关的注解的与数据导出相关的参数的参数值,得到所述数据表对应的经过配置的导出模型,其中,实体对象中的所有与数据导出相关的注解包括:数据表中的至少一个列的注解,列的注解的与数据导出相关的参数的参数值指示所述列是否需要进行数据导出;
导出单元,被配置为基于所述数据表对应的经过配置的导出模型,执行数据导出操作,所述数据导出操作用于将每一个目标列的数据导出到目标Excel表中。
9.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201911122651.7A 2019-11-15 2019-11-15 一种数据导出方法、装置、服务器及存储介质 Pending CN110941658A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911122651.7A CN110941658A (zh) 2019-11-15 2019-11-15 一种数据导出方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911122651.7A CN110941658A (zh) 2019-11-15 2019-11-15 一种数据导出方法、装置、服务器及存储介质

Publications (1)

Publication Number Publication Date
CN110941658A true CN110941658A (zh) 2020-03-31

Family

ID=69907008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911122651.7A Pending CN110941658A (zh) 2019-11-15 2019-11-15 一种数据导出方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110941658A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100134A (zh) * 2020-08-25 2020-12-18 深圳市星砺达科技有限公司 导出大文件的方法及装置、存储介质及计算机设备
WO2022126983A1 (zh) * 2020-12-18 2022-06-23 平安普惠企业管理有限公司 电子报表文件导出方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026137A1 (en) * 2004-07-09 2006-02-02 Juergen Sattler Method and apparatus for integrating a list of selected data entries into a spreadsheet
US20080306975A1 (en) * 2004-12-06 2008-12-11 Silver Fox Limited Method for Copying and Manipulating Data
CN108959230A (zh) * 2018-07-24 2018-12-07 郑州云海信息技术有限公司 一种生成报表模板的方法和装置
CN110019437A (zh) * 2017-07-18 2019-07-16 北京京东尚科信息技术有限公司 一种导出数据的方法和系统
CN110059305A (zh) * 2019-03-04 2019-07-26 广州市辉海计算机科技有限公司 数据导出的方法和装置
CN110147402A (zh) * 2019-05-22 2019-08-20 北大方正集团有限公司 Excel文件导入方法及设备、导出方法及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026137A1 (en) * 2004-07-09 2006-02-02 Juergen Sattler Method and apparatus for integrating a list of selected data entries into a spreadsheet
US20080306975A1 (en) * 2004-12-06 2008-12-11 Silver Fox Limited Method for Copying and Manipulating Data
CN110019437A (zh) * 2017-07-18 2019-07-16 北京京东尚科信息技术有限公司 一种导出数据的方法和系统
CN108959230A (zh) * 2018-07-24 2018-12-07 郑州云海信息技术有限公司 一种生成报表模板的方法和装置
CN110059305A (zh) * 2019-03-04 2019-07-26 广州市辉海计算机科技有限公司 数据导出的方法和装置
CN110147402A (zh) * 2019-05-22 2019-08-20 北大方正集团有限公司 Excel文件导入方法及设备、导出方法及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100134A (zh) * 2020-08-25 2020-12-18 深圳市星砺达科技有限公司 导出大文件的方法及装置、存储介质及计算机设备
WO2022126983A1 (zh) * 2020-12-18 2022-06-23 平安普惠企业管理有限公司 电子报表文件导出方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN107807815B (zh) 分布式处理任务的方法和装置
CN113204598B (zh) 一种数据同步方法、系统及存储介质
US20200210829A1 (en) Network off-line model processing method, artificial intelligence processing device and related products
CN111611622A (zh) 基于区块链的文件存储方法和电子设备
CN110941658A (zh) 一种数据导出方法、装置、服务器及存储介质
CN111338834B (zh) 数据存储方法和装置
CN111435367A (zh) 知识图谱的构建方法、系统、设备及存储介质
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
CN110704536A (zh) 分布式数据处理方法、装置、系统及电子设备
CN110442439B (zh) 任务进程处理方法、装置和计算机设备
KR102031589B1 (ko) 관계 체인 처리 방법 및 시스템, 그리고 저장 매체
CN111444148A (zh) 基于MapReduce的数据传输方法和装置
CN110795764A (zh) 一种数据脱敏方法及系统
CN110708355A (zh) 一种文件上传的方法、系统、设备及可读存储介质
CN116089527A (zh) 一种数据校验方法、存储介质与设备
CN109740027B (zh) 数据交换方法、装置、服务器和存储介质
CN104407846B (zh) 一种信息处理方法及装置
CN113986879A (zh) 一种业务数据迁移方法以及相关装置
CN112711588B (zh) 多表连接的方法和装置
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN114077518A (zh) 数据快照方法、装置、设备及存储介质
CN112597119A (zh) 一种处理日志的生成方法、装置及存储介质
CN107332679B (zh) 一种无中心信息同步方法及装置
US8495033B2 (en) Data processing
CN110727654B (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