一种智能渲染表格的方法及装置与流程

文档序号:14940916发布日期:2018-07-13 20:44阅读:153来源:国知局
本发明涉及数据库
技术领域
,特别涉及一种智能渲染表格的方法及装置。
背景技术
:现有技术对于大量数据的导入,需要首先根据相应的插件来定义出完整的表格。例如,需要制定出该表格的容量有多大,比如说,定义出m行和n列,以及预先制定出该表格在内存中的存储空间。然后再获取待写入的数据来渲染该表格。现有技术中需要较多的代码量来完成上述的技术方案。如何妥善的解决上述问题,就成为了业界亟待解决的课题。技术实现要素:本发明提供一种智能渲染表格的方法及装置,用以较少的代码量来实现将待写入的数据自动高效的渲染到表格中。根据本发明实施例的第一方面,提供一种智能渲染表格的方法,包括:根据预设表格生成第一子表格;将所述预设表格的列的属性传送给所述第一子表格;将待写入的数据渲染到所述第一子表格中。在一个实施例中,所述根据预设表格生成第一子表格,包括:获取所述预设表格的第一行的列的数量;新建只有一行的表格,所述表格的列的数量与所述第一表格的列的数量相同;确认所述表格为第一子表格。在一个实施例中,所述将所述预设表格的列的属性传送给所述第一子表格,包括:获取所述预设表格的各个列的属性名和属性数据类型;将所述预设表格的各个列的属性名填写到所述第一子表格;将所述预设表格的各个列的属性数据类型赋予所述第一子表格。在一个实施例中,所述将待写入的数据渲染到所述第一子表格中,包括:对待写入数据进行分行处理,其中,分行处理过的每行数据与所述第一子表格的各个列的属性数据类型匹配;每次只读取一行数据,并在所述第一子表格中新建一行空数据行;将所述数据渲染到所述第一子表格中新建的空数据行中;逐行写入到所述第一表格直至读取完毕所有的所述写入数据。在一个实施例中,还包括:当所述第一子表格的数据行的行数大于预设分页行数时,所述第一子表格自动进行分页。根据本发明实施例的第二方面,提供一种智能渲染表格的装置,包括:生成模块,用于根据预设表格生成第一子表格;传送模块,用于将所述预设表格的列的属性传送给所述第一子表格;渲染模块,用于将待写入的数据渲染到所述第一子表格中。在一个实施例中,所述生成模块,包括:第一获取子模块,用于获取所述预设表格的第一行的列的数量;新建子模块,用于新建只有一行的表格,所述表格的列的数量与所述第一表格的列的数量相同;确认子模块,用于确认所述表格为第一子表格。在一个实施例中,所述传送模块,包括:第二获取子模块,用于获取所述预设表格的各个列的属性名和属性数据类型;填写子模块,用于将所述预设表格的各个列的属性名填写到所述第一子表格;赋予子模块,用于将所述预设表格的各个列的属性数据类型赋予所述第一子表格。在一个实施例中,所述渲染模块,包括:分行子模块,用于对待写入数据进行分行处理,其中,分行处理过的每行数据与所述第一子表格的各个列的属性数据类型匹配;处理子模块,用于每次只读取一行数据,并在所述第一子表格中新建一行空数据行;渲染子模块,用于将所述数据渲染到所述第一子表格中新建的空数据行中;写入子模块,用于逐行写入到所述第一表格直至读取完毕所有的所述写入数据。在一个实施例中,还包括:分页模块,用于当所述第一子表格的数据行的行数大于预设分页行数时,所述第一子表格自动进行分页。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明一示例性实施例示出的一种智能渲染表格的方法的流程图;图2为本发明一示例性实施例示出的一种智能渲染表格的方法的步骤s11的流程图;图3为本发明一示例性实施例示出的一种智能渲染表格的方法的步骤s12的流程图;图4为本发明一示例性实施例示出的一种智能渲染表格的方法的步骤s13的流程图;图5为本发明另一示例性实施例示出的一种智能渲染表格的方法的流程图;图6为本发明一示例性实施例示出的一种智能渲染表格的装置的框图;图7为本发明一示例性实施例示出的一种智能渲染表格的装置的生成模块61的框图;图8为本发明一示例性实施例示出的一种智能渲染表格的装置的传送模块62的框图;图9为本发明一示例性实施例示出的一种智能渲染表格的装置的渲染模块63的框图;图10为本发明另一示例性实施例示出的一种智能渲染表格的装置的框图。具体实施方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。图1是根据一示例性实施例示出的一种智能渲染表格的方法流程图,如图1所示,该智能渲染表格的方法,包括以下步骤s11-s13:在步骤s11中,根据预设表格生成第一子表格;在步骤s12中,将所述预设表格的列的属性传送给所述第一子表格;在步骤s13中,将待写入的数据渲染到所述第一子表格中。在一个实施例中,对于大量数据的导入,现有技术中需要在相应的插件中定义出完整的表格。例如,需要制定出该表格的容量有多大,比如说,定义出m行和n列,以及预先制定出该表格在内存中的存储空间。然后再获取数据来渲染该表格。现有技术中需要较多的代码量来完成上述的技术方案。本实施例中的技术方案可妥善的解决上述问题。具体的实施例如下。根据预设表格生成第一子表格。其中,获取该预设表格的第一行的列的数量,新建只有一行的表格,该表格的列的数量与该第一表格的列的数量相同,确认该表格为第一子表格。将该预设表格的列的属性传送给该第一子表格。其中,获取该预设表格的各个列的属性名和属性数据类型。将该预设表格的各个列的属性名填写到该第一子表格,将该预设表格的各个列的属性数据类型赋予该第一子表格。将待写入的数据渲染到该第一子表格中。其中,对待写入数据进行分行处理,其中,分行处理过的每行数据与该第一子表格的各个列的属性数据类型匹配。每次只读取一行数据,并在该第一子表格中新建一行空数据行,将该数据渲染到该第一子表格中新建的空数据行中。逐行写入到该第一表格直至读取完毕所有的该写入数据。当该第一子表格的数据行的行数大于预设分页行数时,该第一子表格自动进行分页。采用本实施例中的技术方案可以较少的代码量来实现将待写入的数据自动高效的渲染到表格中。在一个实施例中,如图2所示,步骤s11包括如下步骤s21-s23:在步骤s21中,获取所述预设表格的第一行的列的数量;在步骤s22中,新建只有一行的表格,所述表格的列的数量与所述第一表格的列的数量相同;在步骤s23中,确认所述表格为第一子表格。在一个实施例中,如下表表格1所示,表格1的第一行的列的数量为7。新建一个只有一行的表格,该表格的列的数量与该第一表格的列的数量相同,并确认该表格为第一子表格。例如,新建一个只有一行的表格2。表格1编号姓名部门职位工龄籍贯婚否001张三研发主管21山西已婚002李四市场总监12北京已婚003王麻子行政职员3黑龙江未婚表格2在一个实施例中,如图3所示,步骤s12包括如下步骤s31-s33:在步骤s31中,获取所述预设表格的各个列的属性名和属性数据类型;在步骤s32中,将所述预设表格的各个列的属性名填写到所述第一子表格;在步骤s33中,将所述预设表格的各个列的属性数据类型赋予所述第一子表格。在一个实施例中,预设表格的第一行是各种属性名。例如,表格1中的“编号”、“姓名”、“部门”、“职位”、“工龄”、“籍贯”和“婚否”为第一行的各种属性名,每一个属性名下的数据的数据类型都相同。其中,属性“编号”、“工龄”的数据类型为正整数型,属性“姓名”、“部门”、“职位”、“籍贯”为字符串型,属性“婚否”为布尔型。将该预设表格的各个列的属性名填写到该第一子表格,且每个属性名下的数据的类型都必须符合该属性名设定的数据类型。例如,填写后的表格2如下所示。表格2编号姓名部门职位工龄籍贯婚否在一个实施例中,如图4所示,步骤s13包括如下步骤s41-s44:在步骤s41中,对待写入数据进行分行处理,其中,分行处理过的每行数据与所述第一子表格的各个列的属性数据类型匹配;在步骤s42中,每次只读取一行数据,并在所述第一子表格中新建一行空数据行;在步骤s43中,将所述数据渲染到所述第一子表格中新建的空数据行中;在步骤s44中,逐行写入到所述第一表格直至读取完毕所有的所述写入数据。在一个实施例中,为了渲染时的高效,需要对待写入数据进行预处理,具体而言,需要对待写入数据进行分行处理。其中,分行处理过的每行数据与该第一子表格的各个列的属性数据类型匹配。每次只读取一行数据,并在该第一子表格中新建一行空数据行,将该数据渲染到该第一子表格中新建的空数据行中,,逐行写入到该第一表格。例如,表格2的数据渲染过程如下6个表格2的状态所示。表格2状态1编号姓名部门职位工龄籍贯婚否表格2状态2编号姓名部门职位工龄籍贯婚否001张三研发主管21山西已婚表格2状态3编号姓名部门职位工龄籍贯婚否001张三研发主管21山西已婚表格2状态4表格2状态5编号姓名部门职位工龄籍贯婚否001张三研发主管21山西已婚002李四市场总监12北京已婚表格2状态6编号姓名部门职位工龄籍贯婚否001张三研发主管21山西已婚002李四市场总监12北京已婚003王麻子行政职员3黑龙江未婚在一个实施例中,如图5所示,还包括如下步骤s51:在步骤s51中,当所述第一子表格的数据行的行数大于预设分页行数时,所述第一子表格自动进行分页。在一个实施例中,在单页的行数不易过多,否则处理表格时,系统将消耗较多的系统资源。而且,表格单页的行数过多,用户在查阅表格中的数据时,也会带来一定的阅读困扰。当该第一子表格的数据行的行数大于预设分页行数时,该第一子表格自动进行分页。例如,当该第一子表格的数据行的行数大于100行时,第一子表格就会自动进行分页的操作。在一个实施例中,图6是根据一示例性实施例示出的一种x智能渲染表格的装置框图。如图6示,该装置包括生成模块61、传送模块62和渲染模块63。该生成模块61,用于根据预设表格生成第一子表格;该传送模块62,用于将所述预设表格的列的属性传送给所述第一子表格;该渲染模块63,用于将待写入的数据渲染到所述第一子表格中。如图7所示,该生成模块61包括第一获取子模块71、新建子模块72和确认子模块73。该第一获取子模块71,用于获取所述预设表格的第一行的列的数量;该新建子模块72,用于新建只有一行的表格,所述表格的列的数量与所述第一表格的列的数量相同;该确认子模块73,用于确认所述表格为第一子表格。如图8所示,该传送模块62包括第二获取子模块81、填写子模块82和赋予子模块83。该第二获取子模块81,用于获取所述预设表格的各个列的属性名和属性数据类型;该填写子模块82,用于将所述预设表格的各个列的属性名填写到所述第一子表格;该赋予子模块83,用于将所述预设表格的各个列的属性数据类型赋予所述第一子表格。如图9所示,该渲染模块63包括分行子模块91、处理子模块92、渲染子模块93和写入子模块94。该分行子模块91,用于对待写入数据进行分行处理,其中,分行处理过的每行数据与所述第一子表格的各个列的属性数据类型匹配;该处理子模块92,用于每次只读取一行数据,并在所述第一子表格中新建一行空数据行;该渲染子模块93,用于将所述数据渲染到所述第一子表格中新建的空数据行中;该写入子模块94,用于逐行写入到所述第一表格直至读取完毕所有的所述写入数据。如图10所示,还包括分页模块101。该分页模块101,用于当所述第一子表格的数据行的行数大于预设分页行数时,所述第一子表格自动进行分页。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1