CN115659931A - 表格数据生成方法、装置与计算机设备 - Google Patents
表格数据生成方法、装置与计算机设备 Download PDFInfo
- Publication number
- CN115659931A CN115659931A CN202211249710.9A CN202211249710A CN115659931A CN 115659931 A CN115659931 A CN 115659931A CN 202211249710 A CN202211249710 A CN 202211249710A CN 115659931 A CN115659931 A CN 115659931A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- data
- column
- data object
- template configuration
- 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
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 238000013507 mapping Methods 0.000 claims description 27
- 230000007246 mechanism Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种表格数据生成方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:获取表格模板配置信息,生成表格标题以及表格列名称;根据表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,预设表格数据集合基于历史表格数据生成;根据表格行数据对象、表格行数据对象的类型以及表格模板配置信息,获取表格列数据;基于表格标题、表格列名称以及表格列数据,生成表格。采用本方法能够自动生成表格。
Description
技术领域
本申请涉及表格技术领域,特别是涉及一种表格数据生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着信息技术的发展,表格逐渐成为了大众关注的技术,它能够方便地进行各种数据记录、且可以满足许多领域的数据处理与分析的要求,因此,针对表格进行配置的方法也成为了一个热门话题。
现在一般是调用第三方开源组件接口手动设置表格标题、列名、表格内容等信息,生成的表格能便于业务人员对系统数据进一步的分析和处理;然而,第三方开源组件设置表格信息也存在较大的缺陷,由于是通过开源组件手动设置所以有时会造成表格单元格数据的混乱,且每次都要手动设置表格的信息,花费人力多。
发明内容
基于此,有必要针对上述技术问题,提供一种能够自动生成表格的表格数据生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种表格数据生成方法。所述方法包括:
获取表格模板配置信息,生成表格标题以及表格列名称;
根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,所述预设表格数据集合基于历史表格数据生成;
根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据;
基于所述表格标题、所述表格列名称以及所述表格列数据,生成表格。
在其中一个实施例中,在所述获取表格模板配置信息,生成表格标题以及表格列名称之前,还包括:
获取模板编码、模板名称、表格取数模式以及表格行数据对象的类型,配置表格基础信息;
获取标题名以及标题样式信息,配置表格标题信息;
获取表格列名称、列数据类型、列序号以及列取值映射的字段编码信息,配置表格列元数据信息;
根据所述表格基础信息、所述表格标题信息以及所述表格列元数据信息,生成表格模板配置信息。
在其中一个实施例中,所述根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象包括:
当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合,生成表格行数据对象;
当表格模板配置信息表征的取数模式为自动执行取数模式时,自动读取所述预设表格数据集合,生成表格行数据对象。
在其中一个实施例中,所述当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合,生成表格行数据对象包括:
当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取所述预设表格数据集合;
遍历所述预设表格数据集合,根据所述预设表格数据集合以及所述表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,所述表格行数据对象类型包括Java Pojo类和Map类。
在其中一个实施例中,所述当表格模板配置信息表征取数模式为自动执行取数模式时,自动读取所述预设表格数据集合,生成表格行数据对象包括:
当表格模板配置信息表征的取数模式为自动执行取数模式时,根据所述表格模板配置信息获取自动执行指令;
执行所述自动执行指令,获取所述预设表格数据集合的Map类预设表格数据集合;
遍历所述Map类预设表格数据集合,根据所述Map类预设表格数据集合以及所述表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,所述表格行数据对象类型包括Map类。
在其中一个实施例中,所述根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据包括:
当所述表格行数据对象的类型为Map类时,根据Map类表格行数据对象以及所述表格模板配置信息表征的列取值映射的字段编码信息,调用Map的get方法获取表格列数据;
当所述表格行数据对象的类型为Java Pojo类时,根据Java Pojo类表格行数据对象以及所述表格模板配置信息表征的列取值映射的字段编码信息,通过Java的反射机制获取表格列数据。
第二方面,本申请还提供了一种表格数据生成装置。所述装置包括:
信息获取模块,用于获取表格模板配置信息,生成表格标题以及表格列名称;
行数据生成模块,用于根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,所述预设表格数据集合基于历史表格数据生成;
列数据生成模块,用于根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据;
表格生成模块,用于基于所述表格标题、所述表格列名称以及所述表格列数据,生成表格。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取表格模板配置信息,生成表格标题以及表格列名称;
根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,所述预设表格数据集合基于历史表格数据生成;
根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据;
基于所述表格标题、所述表格列名称以及所述表格列数据,生成表格。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取表格模板配置信息,生成表格标题以及表格列名称;
根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,所述预设表格数据集合基于历史表格数据生成;
根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据;
基于所述表格标题、所述表格列名称以及所述表格列数据,生成表格。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取表格模板配置信息,生成表格标题以及表格列名称;
根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,所述预设表格数据集合基于历史表格数据生成;
根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据;
基于所述表格标题、所述表格列名称以及所述表格列数据,生成表格。
上述表格数据生成方法、装置、计算机设备、存储介质和计算机程序产品,首先获取表格模板配置信息,生成表格标题以及表格列名称,可以从数据库中按照需求对表格标题以及表格列名称自动获取;根据表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,预设表格数据集合基于历史表格数据生成;根据表格行数据对象、表格行数据对象的类型以及表格模板配置信息,获取表格列数据,先生成表格行数据对象再根据表格行数据对象的类型生成列数据的方法,都是通过系统来完成,不需要自己手动设置表格内容;最后基于自动获取的表格标题、表格列名称以及表格列数据,生成表格,可见,整个方案可以实现表格的自动生成。
附图说明
图1为一个实施例中表格数据生成方法的应用环境图;
图2为一个实施例中表格数据生成方法的流程示意图;
图3为另一个实施例中表格数据生成方法的流程示意图;
图4为又一个实施例中表格数据生成方法的流程示意图;
图5为另一个实施例中表格数据生成方法的流程示意图;
图6为另一个实施例中表格数据生成方法的流程示意图;
图7为另一个实施例中表格数据生成方法的流程示意图;
图8为另一个实施例中表格数据生成方法的流程示意图;
图9为一个实施例中表格数据生成装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的表格数据生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。首先,终端102发送表格生成请求至服务器104,表格生成请求中含有表格模板配置信息,服务器104接收到终端102传来的表格生成请求,从表格生成请求中提取表格模板配置信息,生成表格标题以及表格列名称;根据表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,预设表格数据集合基于历史表格数据生成;根据表格行数据对象、表格行数据对象的类型以及表格模板配置信息,获取表格列数据;基于表格标题、表格列名称以及表格列数据,生成表格。更进一步地,服务器104还可以把生成的表格结果反馈给终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种表格数据生成方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S200,获取表格模板配置信息,生成表格标题以及表格列名称。
其中,模板是将一个事物的结构规律予以固定化、标准化的成果,它体现的是结构形式的标准化。表格模板配置信息是指将表格的结构规律予以固定化、标准化时的配置信息,包括表格的基础信息、标题信息以及列元数据配置信息。
具体地,终端102发送表格生成请求至服务器104,表格生成请求中含有表格模板配置信息,服务器104接收到终端102传来的表格生成请求,读取表格模板配置信息,根据表格模板配置信息表征的表格标题信息和表格列元数据信息,生成表格标题以及表格列名称。
S400,根据表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,预设表格数据集合基于历史表格数据生成。
其中,表格的取数模式是表格中的数据来源方式,取数模式类型包括自动执行取数和手动取数模式,它主要表示初始数据的加载方式。自动执行取数模式是指sql(Structured Query Language,结构化查询语言)自动执行取数模式即在页面里配置数据库的sql查询语句,生成表格时会自动执行sql语句,该模式下表格行数据Java类为Map类型;手动取数模式即业务代码传递需要生成表格的数据列表集合(List对象),后台代码根据模板对数据列表进行处理生成表格,该模式下表格行数据对象可以是Map,也可以是自定义的Pojo(Plain Ordinary Java Object,简单的Java对象)类。本申请中当前模板只考虑支持一个sheet页的表格模板配置。预设表格数据集合是被预先设置好供自动生成表格时读取的表格数据集合。表格行数据对象是基础信息,用来表示用什么样的数据对象去接收表格的每行数据,以便于后台Java代码能够对表格数据进行处理。Java是一种强类型检查语言,每一个处理对象都需要是一个具体的Java类对象。
具体地,服务器104获取到表格模板配置信息后,可以得到表格模板配置信息表征的取数模式类型,再基于历史表格数据生成预设表格数据集合,预设表格数据集合可以作为表格的单元格数据来源,最后根据表格模板配置信息表征的不同取数模式类型,从预设表格数据集合中取数生成对应的表格行数据对象。
S600,根据表格行数据对象、表格行数据对象的类型以及表格模板配置信息,获取表格列数据。
其中,表格行数据对象的类型在本申请中是指表格行数据对象Java类名称,Java类可以是自己定义的Pojo类型,也可以是Map类型(如Java.util.Map),配置的数据类型名称必须是Java全路径类名。表格列是指垂直的单元格列。
具体地,服务器104取数生成表格行数据对象后,此时并未确定表格每列的值,这些行数据是原始的数据,需要根据表格单元格(即表格列)的元数据配置信息,从行数据里面取数写入到表格每列中。所以本申请根据表格模板配置信息,按照表格行数据对象的不同类型,从表格行数据对象中获取表格列数据。
S800,基于表格标题、表格列名称以及表格列数据,生成表格。
具体地,基于从表格模板配置信息中获取的表格标题、表格列名称以及从表格行数据对象中获取的表格列数据,生成表格。
更进一步地,生成的表格包括但不限于excel表格、word表格等。
上述表格数据生成方法中,首先获取表格模板配置信息,生成表格标题以及表格列名称,可以从数据库中按照需求对表格标题以及表格列名称自动获取;根据表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,预设表格数据集合基于历史表格数据生成;根据表格行数据对象、表格行数据对象的类型以及表格模板配置信息,获取表格列数据,先生成表格行数据对象再根据表格行数据对象的类型生成列数据的方法,都是通过系统来完成,不需要自己手动设置表格内容;最后基于自动获取的表格标题、表格列名称以及表格列数据,生成表格。因此,本申请实现了自动生成表格数据从而生成表格。
在一个实施例中,如图3所示,在S200之前,还包括:
S120,获取模板编码、模板名称、表格取数模式以及表格行数据对象的类型,配置表格基础信息。
其中,模板编码具有唯一性,是指采用字母、数字以及其它形式对模板进行编码,按需调用需要的表格模板编码信息。模板名称是指与模板编码对应的表格模板的名称。表格基础信息包括模板编码、模板名称、表格取数模式以及表格行数据对象的类型,表格取数模式支持sql自动执行取数和手动取数模式,表格行数据对象的类型是指表格行数据对象Java类名称,包括Java Pojo类以及Map类。表格取数模式决定表格行数据对象的类型的选择范围,在sql自动执行取数模式下,表格行数据对象只支持Map类型;在手动取数模式下支持Map和自定义的Java Pojo对象。
具体地,表格模板基础信息的配置包括配置一个唯一性的模板编码、配置模板编码对应的模板名称、配置表格取数模式为sql自动执行取数和手动取数模式、以及表格行数据对象的类型为Java Pojo类和Map类表格行数据对象。
S140,获取标题名以及标题样式信息,配置表格标题信息。
其中,标题样式信息包括标题占用列单元格数目、标题字体、标题单元格高度以及标题字体颜色等样式信息。表格标题信息包括标题名以及标题样式信息。
具体地,表格标题信息的配置是对表格的标题名、标题占用列单元格数目、标题字体、标题单元格高度以及标题字体颜色等样式信息进行配置。
更进一步地,标题占用单元格会在生成excel表格时统一合并为一个单元格。
S160,获取表格列名称、列数据类型、列序号以及列取值映射的字段编码信息,配置表格列元数据信息。
其中,列序号是表示第几列的意思,列取值映射的字段编码信息是指表格行数据对象类型中Java Pojo类对应的属性名或者Map类中对应的key名。表格列元数据信息包括表格列名称、列数据类型、列序号以及列取值映射的字段编码信息。
具体地,表格列元数据信息的配置是对表格的列名称、列数据类型、列序号以及列取值映射的字段编码信息进行配置。
更进一步地,如果列的取值是由对象的多个属性计算而来,则需要配置多个属性,属性之间通过逗号分割;如果列的取值是敏感信息需要脱敏或需要格式化,则需要配置实现统一格式化接口的bean,如值显示时统一加%,或者身份证中间几位用*表示等。
S180,根据表格基础信息、表格标题信息以及表格列元数据信息,生成表格模板配置信息。
其中,表格模板配置信息包括表格基础信息、表格标题信息以及表格列元数据信息。
具体地,将表格基础信息、表格标题信息以及表格列元数据信息配置好后,就相当于配置好了表格模板配置信息,即配置表格模板配置信息需要配置模板编码、模板名称、表格取数模式、表格行数据对象的类型等基础信息,标题名、标题占用列单元格数目、标题字体、标题单元格高度以及标题字体颜色等表格标题信息以及表格列名称、列数据类型、列序号以及列取值映射的字段编码信息等表格列元数据信息。
更进一步地,表格模板配置信息被长期存放在数据库中。
本实施例中,通过配置好表格模板配置信息,能够将表格模板配置信息提前准备好,便于在自动生成表格时直接读取表格模板配置信息。
在一个实施例中,如图4所示,S400包括:
S420,当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合,生成表格行数据对象。
具体地,预设表格数据是从表格历史数据集合中得到的,当表格模板配置信息中表格基础信息的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合,从预设表格数据集合种获取需要的Map类和自定义的Java Pojo类表格行数据对象。
S440,当表格模板配置信息表征的取数模式为自动执行取数模式时,自动读取预设表格数据集合,生成表格行数据对象。
具体地,当表格模板配置信息表格基础信息的取数模式为自动执行取数模式时,自动读取预设表格数据集合来生成Map类表格行数据对象。
本实施例中,通过针对不同的取数模式生成不同类型的表格行数据对象,能够使表格数据与数据类型对应,使表格准确明了。
在一个实施例中,如图5所示,S420包括:
S422,当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合。
具体地,当表格模板配置信息表征的取数模式为手动取数模式时,通过外部接口传递预设表格数据集合并读取预设表格数据集合。
S424,遍历预设表格数据集合,根据预设表格数据集合以及表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,表格行数据对象类型包括Java Pojo类和Map类。
其中,遍历是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问。本申请是指对预设表格数据集合中的数据均做一次访问。
具体地,当表格模板配置信息表征的取数模式为自动执行取数模式时,得到预设表格数据集合后,由于表格行数据对象的类型是Map类和Java Pojo类,对预设表格数据集合里的数据均做一次访问,从预设表格数据集合中获取对应的Map类数据和Java Pojo类数据,从而逐行生成表格行数据对象。
本实施例中,通过在表格模板配置信息表征的取数模式为手动取数模式时调用外部接口从预设表格数据集合中生成表格行数据对象,能够自动生成手动取数模式下表格的行数据。
在一个实施例中,如图6所示,S440包括:
S442,当表格模板配置信息表征的取数模式为自动执行取数模式时,根据表格模板配置信息获取自动执行指令。
具体地,当表格模板配置信息表征的取数模式为sql自动执行取数模式时,根据获取的表格模板配置信息,对表格模板配置信息进行读取进而获取需要执行的sql语句List<Map<String,Object>>。
S444,执行自动执行指令,获取预设表格数据集合的Map类预设表格数据集合。
具体地,通过执行获取的sql语句List<Map<String,Object>>来查询返回Map格式的数据集合对象,即获取预设表格数据集合的Map类预设表格数据集合。
S446,遍历Map类预设表格数据集合,根据Map类预设表格数据集合表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,表格行数据对象类型包括Map类。
具体地,当表格模板配置信息表征的取数模式为自动执行取数模式时,得到Map类预设表格数据集合后,对Map类预设表格数据集合中的数据均做一次访问,由于表格行数据对象的类型是Map类,从Map类预设表格数据集合中获取需要的Map类数据来逐行生成表格行数据对象。
本实施例中,通过在表格模板配置信息表征的取数模式为自动执行取数模式时利用sql执行指令从预设表格数据集合中生成表格行数据对象,能够自动生成自动执行取数模式下表格的行数据。
在一个实施例中,如图7所示,S600包括:
S620,当表格行数据对象的类型为Map类时,根据Map类表格行数据对象以及表格模板配置信息表征的列取值映射的字段编码信息,调用Map的get方法获取表格列数据;
其中,Map的get方法为Map.get(),表示返回指定键key所映射的值value。如果此映射不包含该键的映射关系,则返回null(空值)。key和value是键值对,key是关键字,value是值。本申请中,key是列取值映射的字段编码。
具体地,当表格行数据对象的类型为Map类时,根据表格模板配置信息中列元数据信息的列取值映射的字段编码信息,获取行列之间的映射关系,调用Map的get方法从Map类表格行数据对象中得到列取值映射的字段编码key对应的表格单元格值value,即表格列数据的值。
S640,当表格行数据对象的类型为Java Pojo类时,根据Java Pojo类表格行数据对象以及表格模板配置信息表征的列取值映射的字段编码信息,通过Java的反射机制获取表格列数据。
其中,Java的反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。简单来说,反射机制指的是程序在运行时能够获取自身的信息。在Java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。
具体地,当表格行数据对象的类型为Java Pojo类时,由于对于任意一个类,都能够知道这个类的所有属性和方法,所以根据表格模板配置信息中列元数据信息的列取值映射的字段编码信息,通过反射机制可以获取Java Pojo类的所有属性和方法,包括每列的取值。
本实施例中,通过对不同的表格行数据对象的类型采取不同方式来获取表格列数据,实现了自动生成表格列数据。
在一个实施例中,可以按需对表格标题、样式进行修改,还可以隐藏和增加表格列。
具体地,对表格标题、样式进行修改是通过选择自己所需要的模板信息来进行获取;隐藏和增加表格列是通过配置表格列元数据信息完成的,比如需要隐藏(即excel表格中没有该列数据)则在表格列元数据信息里把列取值映射的字段编码信息(即对应的映射关系)删除即可,需要增加某列表格列则增加对应的映射关系。
在一个实施例中,如图8所示,提供了一种表格数据生成方法,方法包括:
获取模板编码、模板名称、表格取数模式以及表格行数据对象的类型,配置表格基础信息。
获取标题名以及标题样式信息,配置表格标题信息。
获取表格列名称、列数据类型、列序号以及列取值映射的字段编码信息,配置表格列元数据信息。
根据表格基础信息、表格标题信息以及表格列元数据信息,生成表格模板配置信息。
获取表格模板配置信息,生成表格标题以及表格列名称。
当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合。
遍历预设表格数据集合,根据预设表格数据集合以及表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,表格行数据对象类型包括Java Pojo类和Map类。
当表格模板配置信息表征的取数模式为自动执行取数模式时,根据表格模板配置信息获取自动执行指令。
执行自动执行指令,获取预设表格数据集合的Map类预设表格数据集合。
遍历Map类预设表格数据集合,根据Map类预设表格数据集合表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,表格行数据对象类型包括Map类。
当表格行数据对象的类型为Map类时,根据Map类表格行数据对象以及表格模板配置信息表征的列取值映射的字段编码信息,调用Map的get方法获取表格列数据。
当表格行数据对象的类型为Java Pojo类时,根据Java Pojo类表格行数据对象以及表格模板配置信息表征的列取值映射的字段编码信息,通过Java的反射机制获取表格列数据。
基于表格标题、表格列名称以及表格列数据,生成表格。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的表格数据生成方法的表格数据生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个表格数据生成装置实施例中的具体限定可以参见上文中对于表格数据生成方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种表格数据生成装置,包括:信息获取模块200、行数据生成模块400、列数据生成模块600和表格生成模块800,其中:
信息获取模块200,用于获取表格模板配置信息,生成表格标题以及表格列名称。
行数据生成模块400,用于根据表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,预设表格数据集合基于历史表格数据生成。
列数据生成模块600,用于根据表格行数据对象、表格行数据对象的类型以及表格模板配置信息,获取表格列数据。
表格生成模块800,用于基于表格标题、表格列名称以及表格列数据,生成表格。
在一个实施例中,还包括信息配置模块100,信息配置模块100用于获取模板编码、模板名称、表格取数模式以及表格行数据对象的类型,配置表格基础信息;获取标题名以及标题样式信息,配置表格标题信息;获取表格列名称、列数据类型、列序号以及列取值映射的字段编码信息,配置表格列元数据信息;根据表格基础信息、表格标题信息以及表格列元数据信息,生成表格模板配置信息。
在一个实施例中,行数据生成模块400用于当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合,生成表格行数据对象;当表格模板配置信息表征的取数模式为自动执行取数模式时,自动读取预设表格数据集合,生成表格行数据对象。
在一个实施例中,行数据生成模块400还用于当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合;遍历预设表格数据集合,根据预设表格数据集合以及模板配置信息表征的列取值映射的字段编码信息,逐行生成表格行数据对象,表格行数据对象类型包括Java Pojo类和Map类。
在一个实施例中,行数据生成模块400还用于当表格模板配置信息表征的取数模式为自动执行取数模式时,根据表格模板配置信息获取自动执行指令;执行自动执行指令,获取预设表格数据集合的Map类预设表格数据集合;遍历Map类预设表格数据集合,根据Map类预设表格数据集合以及模板配置信息表征的列取值映射的字段编码信息,逐行生成表格行数据对象,表格行数据对象类型包括Map类。
在一个实施例中,表格生成模块800还用于当表格行数据对象的类型为Map类时,根据Map类表格行数据对象以及表格模板配置信息,调用Map的get方法获取表格列数据;当表格行数据对象的类型为Java Pojo类时,根据Java Pojo类表格行数据对象以及表格模板配置信息,通过Java的反射机制获取表格列数据。
上述表格数据生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储表格模板配置信息数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种表格数据生成方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种表格数据生成方法,其特征在于,所述方法包括:
获取表格模板配置信息,生成表格标题以及表格列名称;
根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,所述预设表格数据集合基于历史表格数据生成;
根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据;
基于所述表格标题、所述表格列名称以及所述表格列数据,生成表格。
2.根据权利要求1所述的方法,其特征在于,在所述获取表格模板配置信息,生成表格标题以及表格列名称之前,还包括:
获取模板编码、模板名称、表格取数模式以及表格行数据对象的类型,配置表格基础信息;
获取标题名以及标题样式信息,配置表格标题信息;
获取表格列名称、列数据类型、列序号以及列取值映射的字段编码信息,配置表格列元数据信息;
根据所述表格基础信息、所述表格标题信息以及所述表格列元数据信息,生成表格模板配置信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象包括:
当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合,生成表格行数据对象;
当表格模板配置信息表征的取数模式为自动执行取数模式时,自动读取所述预设表格数据集合,生成表格行数据对象。
4.根据权利要求3所述的方法,其特征在于,所述当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取预设表格数据集合,生成表格行数据对象包括:
当表格模板配置信息表征的取数模式为手动取数模式时,调用外部接口读取所述预设表格数据集合;
遍历所述预设表格数据集合,根据所述预设表格数据集合以及所述表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,所述表格行数据对象类型包括Java Pojo类和Map类。
5.根据权利要求3所述的方法,其特征在于,所述当表格模板配置信息表征取数模式为自动执行取数模式时,自动读取所述预设表格数据集合,生成表格行数据对象包括:
当表格模板配置信息表征的取数模式为自动执行取数模式时,根据所述表格模板配置信息获取自动执行指令;
执行所述自动执行指令,获取所述预设表格数据集合的Map类预设表格数据集合;
遍历所述Map类预设表格数据集合,根据所述Map类预设表格数据集合以及所述表格模板配置信息表征的表格行数据对象类型,逐行生成表格行数据对象,所述表格行数据对象类型包括Map类。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据包括:
当所述表格行数据对象的类型为Map类时,根据Map类表格行数据对象以及所述表格模板配置信息表征的列取值映射的字段编码信息,调用Map的get方法获取表格列数据;
当所述表格行数据对象的类型为Java Pojo类时,根据Java Pojo类表格行数据对象以及所述表格模板配置信息表征的列取值映射的字段编码信息,通过Java的反射机制获取表格列数据。
7.一种表格数据生成装置,其特征在于,所述装置包括:
信息获取模块,用于获取表格模板配置信息,生成表格标题以及表格列名称;
行数据生成模块,用于根据所述表格模板配置信息表征的取数模式类型以及预设表格数据集合,生成表格行数据对象,所述预设表格数据集合基于历史表格数据生成;
列数据生成模块,用于根据所述表格行数据对象、所述表格行数据对象的类型以及所述表格模板配置信息,获取表格列数据;
表格生成模块,用于基于所述表格标题、所述表格列名称以及所述表格列数据,生成表格。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211249710.9A CN115659931A (zh) | 2022-10-12 | 2022-10-12 | 表格数据生成方法、装置与计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211249710.9A CN115659931A (zh) | 2022-10-12 | 2022-10-12 | 表格数据生成方法、装置与计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115659931A true CN115659931A (zh) | 2023-01-31 |
Family
ID=84986962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211249710.9A Pending CN115659931A (zh) | 2022-10-12 | 2022-10-12 | 表格数据生成方法、装置与计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115659931A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656914A (zh) * | 2017-10-16 | 2018-02-02 | 厦门海迈科技股份有限公司 | 可配置化的表格生成方法、装置、终端设备及存储介质 |
WO2020186783A1 (zh) * | 2019-03-21 | 2020-09-24 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN112417836A (zh) * | 2020-11-27 | 2021-02-26 | 智业软件股份有限公司 | 一种表格自动生成方法、终端设备及存储介质 |
CN113760896A (zh) * | 2021-01-15 | 2021-12-07 | 北京京东拓先科技有限公司 | 搜索表格的构建方法、装置、电子设备以及储存介质 |
CN113822030A (zh) * | 2020-10-19 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 一种数据导出的方法、装置和存储介质 |
-
2022
- 2022-10-12 CN CN202211249710.9A patent/CN115659931A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656914A (zh) * | 2017-10-16 | 2018-02-02 | 厦门海迈科技股份有限公司 | 可配置化的表格生成方法、装置、终端设备及存储介质 |
WO2020186783A1 (zh) * | 2019-03-21 | 2020-09-24 | 平安国际智慧城市科技股份有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN113822030A (zh) * | 2020-10-19 | 2021-12-21 | 北京沃东天骏信息技术有限公司 | 一种数据导出的方法、装置和存储介质 |
CN112417836A (zh) * | 2020-11-27 | 2021-02-26 | 智业软件股份有限公司 | 一种表格自动生成方法、终端设备及存储介质 |
CN113760896A (zh) * | 2021-01-15 | 2021-12-07 | 北京京东拓先科技有限公司 | 搜索表格的构建方法、装置、电子设备以及储存介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275884B (zh) | 数据存储方法及节点 | |
CN111898139B (zh) | 数据读写方法及装置、电子设备 | |
CN110032599B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
US8407262B2 (en) | Systems and methods for generating an entity diagram | |
CN109582473A (zh) | 基于区块链的跨链数据访问方法和装置 | |
CN112860777B (zh) | 数据处理方法、装置及设备 | |
TWI724570B (zh) | 資料結構的讀取及更新方法、裝置、電子設備及儲存媒體 | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
CN107451237A (zh) | 序列化与反序列化方法、装置及设备 | |
CN110019111A (zh) | 数据处理方法、装置、存储介质以及处理器 | |
CN117493309A (zh) | 一种标准模型生成方法、装置、设备及存储介质 | |
CN112835638A (zh) | 一种基于嵌入式应用程序的配置信息管理方法及装置 | |
CN111796907A (zh) | 基于检核脚本的数据检核方法、装置、电子设备以及介质 | |
CN113254455B (zh) | 数据库的动态配置方法、装置、计算机设备及存储介质 | |
CN111124883A (zh) | 一种基于树形表格的测试用例库引入方法、系统及设备 | |
CN115659931A (zh) | 表格数据生成方法、装置与计算机设备 | |
CN115617338A (zh) | 一种业务页面快速生成方法、装置及可读存储介质 | |
CN112463896B (zh) | 档案编目数据处理方法、装置、计算设备及存储介质 | |
CN116401323A (zh) | 指标数据处理方法、装置及计算机设备 | |
CN116910069A (zh) | 数据库更新方法、装置、计算机设备和存储介质 | |
CN117391061A (zh) | 合同加载方法、装置、处理器及存储介质 | |
CN115941760A (zh) | 接口信息录入方法、装置、计算机设备和存储介质 | |
CN113987322A (zh) | 指标数据查询方法、装置、计算机设备和计算机程序产品 | |
CN116400922A (zh) | 界面引导示意图生成方法、装置、计算机设备和存储介质 | |
CN115629958A (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 |