技术领域
[0001] 本发明涉及计算机技术领域,具体涉及一种Excel数据录入组件、录入方法及装置。
相关背景技术
[0002] 在现在的数据时代,特别是数据中心,积累着庞大的数据支撑着各种各样的业务功能。在这么庞大的数据背后,避免不了数据录入的功能,数据录入简单解释为将想要的数据录入到后台数据库表中。每一个表的数据录入,它都有自己的不同之处,比如不一样的表,表中每一个字段都有它自己不一样的校验规则,正因为有这些差异,要为不一样的数据库表做对应的数据录入代码编写。
[0003] 然而,在录入不一样的库表数据时,由于每个表字段有不一样的数据校验规则,因此会导致繁杂的开发工作和低下的工作效率。
具体实施方式
[0042] 下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0043] 在现在的数据时代,特别是数据中心,积累着庞大的数据支撑着各种各样的业务功能。在这么庞大的数据背后,避免不了数据录入的功能,数据录入简单解释为将想要的数据录入到后台数据库表中。每一个表的数据录入,它都有自己的不同之处,比如不一样的表,表中每一个字段都有它自己不一样的校验规则,正因为有这些差异,要为不一样的数据库表做对应的数据录入代码编写,这必然导致开发效率的降低,同时使得数据录入工作变得也特别低效。基于该问题,为了提高效率,本发明实施例设计了一种通用的Excel数据录入组件,利用该Excel数据录入组件,相关人员只需进行数据模板表和规则模板表的配置即可实现数据的录入,免去了繁杂的开发工作量,即便不懂开发的运维人员也可以实现数据的导入功能。下面将通过具体实施例对本发明提供的Excel数据录入组件、录入方法及装置进行详细解释说明。
[0044] 图1示出了本发明一实施例提供的Excel数据录入组件的结构示意图,如图1所示,本发明实施例提供的Excel数据录入组件,包括:校验规则库11、数据模板表12、规则模板表13、数据验证模块14和数据录入模块15;
[0045] 所述数据模板表12,用于供用户在所述数据模板表中录入目标Excel文件中包含的字段信息;其中,所述目标Excel文件为待进行录入的Excel文件;
[0046] 所述规则模板表13,用于供用户在所述规则模板表中,为所述数据模板表中已经录入的字段配置相应的校验规则,其中,在为所述数据模板表中已经录入的字段配置相应的校验规则时,根据各字段的约束条件从所述校验规则库11中为各字段选择相应的校验规则;
[0047] 所述数据验证模块14,用于利用所述规则模板表中的校验规则对所述数据模板表中已经录入的字段信息进行校验,并反馈校验结果;
[0048] 所述数据录入模块15,用于在所述校验结果为通过时,将所述数据模板表中已经录入的字段信息录入至预设数据库中。
[0049] 在本实施例中,设计了一种通用的Excel数据录入组件,利用该Excel数据录入组件,相关人员只需进行数据模板表和规则模板表的配置即可实现数据的录入校验,从而降低了对开发人员的依赖,只要相关人员学会进行数据模板表和规则模板表的配置即可实现数据的录入校验。
[0050] 由上述技术方案可知,本发明实施例提供的Excel数据录入组件,通过直接配置数据模板表和规则模板表即可实现数据是轻松录入和校验,免去了繁杂的开发工作量,即便不懂开发的运维人员也可以实现数据的导入功能,只要运维人员学会配置数据模板表和规则模板表即可,由于配置数据模板表和规则模板表相对于开发工作来说,要简单灵活快捷很多,因此,本发明实施例使得数据导入变得更加轻松、灵活和快捷。此外,由于在本发明实施例中,校验规则是抽取出来放到规则库里的,因此校验规则具有可重用且低耦合的特性,因此便于相关人员灵活调用各种需要的校验规则。与现有常规的数据导入方式相比,本发明实施例中的数据导入工作更加轻松、灵活和快捷。
[0051] 基于上述实施例的内容,在本实施例中,所述规则模板表13,用于供用户在所述规则模板表中,为所述数据模板表中已经录入的字段配置相应的校验规则,其中,在为所述数据模板表中已经录入的字段配置相应的校验规则时,根据各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则,具体包括:
[0052] 所述规则模板表中包括有与所述数据模板表中的字段信息对应的表字段,供用户根据各字段的约束条件在所述数据模板表相应表字段对应的校验规则中设置从所述校验规则库中选择的与各字段匹配的规则,并设置是主动执行校验还是被动执行校验,以及设置当被动执行校验时的触发条件。
[0053] 在本实施例中,所述数据模板表12,用于供用户在所述数据模板表中录入目标Excel文件中包含的字段信息;其中,所述目标Excel文件为待进行录入的Excel文件。例如,所述数据模板表12包含需要导入的数据,具体如下面表1所示。
[0054] 表1
[0055]
[0056] 在本实施例中,所述规则模板表13用于配置校验规则,具体如下面文字描述以及表2所示内容:
[0057] 模板字段:此处跟数据表1的数据表字段对应,给每一个表字段设置各自的规则;
[0058] 表字段:设置该表字段对应数据库表中具体的字段;
[0059] 表字段类型:设置该表字段对应数据库字段的类型;
[0060] 是否主动执行:设置该表字段的规则是主动执行还是被动执行;“是否主动执行”为“是”时,则录入每条记录前会主动触发此表字段对应的校验规则,否则,需要被某个规则触发才执行或不执行。例如表2中有个“是否已婚”的模板字段,此字段被设置为主动执行,则checkNotNull(校验不能为空的规则)被执行,执行完后,它会继续触发“伴侣名称”的校验规则“checkNotNull”,所以这样达到的效果是:如“是否已婚”为是,则为“伴侣名称”为必填;
[0061] 规则:规则名称,此规则会提前写好在校验规则库中;如“checkNotNull”为必填校验,“checkPhone”为手机号校验;“checkUserId”为身份证校验;“checkDateFormat”为时间格式校验;
[0062] 触发:格式为“需要触发规则对应的模板字段:调用条件”,即符合调用条件才调用对应模板字段的规则;如“伴侣名称:是否已婚=是”,则当前记录中的“是否已婚”表字段的值为“是”时,才调用“伴侣名称”的规则。
[0063] 表2
[0064]
[0065]
[0066] 基于上面描述的内容可知,在本实施例中,所述规则模板表中包括有与所述数据模板表中的字段信息对应的表字段,供用户根据各字段的约束条件在所述数据模板表相应表字段对应的校验规则中设置从所述校验规则库中选择的与各字段匹配的规则,并设置是主动执行校验还是被动执行校验,以及设置当被动执行校验时的触发条件,由此可见,本实施例可以实现对规则模板表进行校验规则的配置,进而可以利用配置好的规则模板表对数据配置表中已经录入的数据进行规则校验。由于在对规则模板表进行校验规则配置时,只需从校验规则库中选择相应的校验规则(如是否为空,身份证校验,时间格式校验等规则)进行设置,并设置是否主动执行校验以及触发校验的条件即可,因此,无需依赖开发人员的开发工作,免去了繁杂的开发工作量,使得即便不懂开发的运维人员也可以实现数据的导入功能,只要运维人员学会配置数据模板表和规则模板表即可,由于配置数据模板表和规则模板表相对于开发工作来说,要简单灵活快捷很多,因此,本发明实施例使得数据导入变得更加轻松、灵活和快捷。此外,由于在本发明实施例中,校验规则是抽取出来放到规则库里的,因此校验规则具有可重用且低耦合的特性,因此便于相关人员灵活调用各种需要的校验规则。
[0067] 基于上述实施例的内容,在本实施例中,所述规则模板表,还用于供用户在所述规则模板表中设置表名、hibernate_sequenc、第一行数据行数和所有记录统一规则;
[0068] 其中,所述表名表示数据模板表的表名;所述hibernate_sequenc表示生成主键规则,不为空时用hibernate序列号生成主键;所述第一行数据行数表示在数据模板表中数据的开始行数;所述所有记录统一规则表示以一条记录为维度去执行校验规则。
[0069] 在本实施例中,举例来说,表名、hibernate_sequenc、第一行数据行数和所有记录统一规则如下所示:
[0070] 表名:数据模板表(表1)的表名;
[0071] hibernate_sequenc:生成主键规则,不为空时用hibernate序列号生成主键;
[0072] 第一行数据行数:在数据模板表(表1)中数据的开始行数;
[0073] 所有记录统一规则:此处填写的是一个规则,以一条记录为维度去执行某个规则,比如记录该记录的提交。
[0074] 在本实施例中,所述规则模板表,还用于供用户在所述规则模板表中设置表名、hibernate_sequenc、第一行数据行数和所有记录统一规则,从而使得利用规则模板表对数据模板表的规则校验变得更为简单方便,例如,根据hibernate_sequenc可以自动生成主键,根据第一行数据行数可以自动确定数据模板表中数据的开始行数,从而便于进行自动化的规则校验过程。
[0075] 基于上述实施例的内容,在本实施例中,所述数据模板表中设置有checkFlag字段和checkMesg字段;
[0076] 所述数据验证模块,用于利用所述规则模板表中的校验规则对所述数据模板表中已经录入的字段信息进行校验,并在校验通过时在所述数据模板表的checkFlag字段中显示Y,且在checkMesg字段中显示校验通过;以及,在校验不通过时在所述数据模板表的checkFlag字段中显示N,且在checkMesg字段中显示对应哪个字段因什么原因校验不通过的具体信息。
[0077] 在本实施例中,组件根据规则模板表中的校验规则对数据模板表中的数据文件进行校验。其中,数据模板表中必须要有两字段:checkFlag和checkMesg;如校验通过,则checkFlag赋值为Y,checkMesg赋值为“校验通过”,否则checkFlag赋值为N,checkMesg赋值为“对应哪个表字段因什么原因校验不通过的具体信息”。
[0078] 在本实施例中,需要说明的是,在组件解释完数据后,调用数据库组件将数据批量入库。
[0079] 由此可见,在本实施例中,直接配置数据模板表和规则模板表即可实现数据的录入,组件本身具有自己的规则库,维护人员只需要按规范配置规则模板表,在需要校验的表字段引入规则库中的规则,即可轻松达到录入数据和数据校验的目的。
[0080] 图2示出了本发明一实施例提供的Excel数据录入方法的流程图,如图2所示,本发明实施例提供的Excel数据录入方法,具体包括如下内容:
[0081] 步骤101:创建数据模板表和规则模板表;其中,所述数据模板表,用于供用户在所述数据模板表中录入目标Excel文件中包含的字段信息;其中,所述目标Excel文件为待进行录入的Excel文件;所述规则模板表,用于供用户在所述规则模板表中,为所述数据模板表中已经录入的字段配置相应的校验规则,其中,在为所述数据模板表中已经录入的字段配置相应的校验规则时,根据各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则;
[0082] 在本步骤中,通过创建数据模板表和规则模板表,以及,进行数据模板表的数据导入和规则模板表的校验规则配置,使得整个数据导入过程(主要是规则校验过程)无需依赖开发人员的开发工作,免去了繁杂的开发工作量,使得即便不懂开发的运维人员也可以实现数据的导入功能,只要运维人员学会配置数据模板表和规则模板表即可。
[0083] 步骤102:将待进行录入的目标Excel文件的字段信息录入至所述数据模板表中;
[0084] 步骤103:根据所述数据模板表中已经录入的各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则,并将相应的检验规则配置在所述规则模板表中;
[0085] 步骤104:利用所述规则模板表中配置的校验规则对所述数据模板表中已经录入的字段信息进行校验,并反馈校验结果;
[0086] 步骤105:在所述校验结果为校验通过时,将所述数据模板表中已经录入的字段信息录入至预设数据库中。
[0087] 在本实施例中,直接创建和配置数据模板表和规则模板表即可实现数据的录入,维护人员只需要按规范配置规则模板表,在需要校验的表字段引入规则库中的规则,即可轻松达到录入数据和数据校验的目的。
[0088] 由此可见,在本实施例中,通过创建数据模板表和规则模板表,以及,进行数据模板表的数据导入和规则模板表的校验规则配置,使得整个数据导入过程(主要是规则校验过程)无需依赖开发人员的开发工作,免去了繁杂的开发工作量,使得即便不懂开发的运维人员也可以实现数据的导入功能,只要运维人员学会配置数据模板表和规则模板表即可,由于配置数据模板表和规则模板表相对于开发工作来说,要简单灵活快捷很多,因此,本发明实施例使得数据导入变得更加轻松、灵活和快捷。此外,由于在本发明实施例中,校验规则是抽取出来放到规则库里的,因此校验规则具有可重用且低耦合的特性,因此便于相关人员灵活调用各种需要的校验规则。
[0089] 由上述技术方案可知,本发明实施例提供的Excel数据录入方法,通过直接配置数据模板表和规则模板表即可实现数据是轻松录入和校验,免去了繁杂的开发工作量,即便不懂开发的运维人员也可以实现数据的导入功能,只要运维人员学会配置数据模板表和规则模板表即可,由于配置数据模板表和规则模板表相对于开发工作来说,要简单灵活快捷很多,因此,本发明实施例使得数据导入变得更加轻松、灵活和快捷。此外,由于在本发明实施例中,校验规则是抽取出来放到规则库里的,因此校验规则具有可重用且低耦合的特性,因此便于相关人员灵活调用各种需要的校验规则。与现有常规的数据导入方式相比,本发明实施例中的数据导入工作更加轻松、灵活和快捷。
[0090] 基于上述实施例的内容,在本实施例中,所述规则模板表中包括有与所述数据模板表中的字段信息对应的表字段;相应地,根据所述数据模板表中已经录入的各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则,并将相应的检验规则配置在所述规则模板表中,具体包括:
[0091] 根据所述数据模板表中已经录入的各字段的约束条件在所述规则模板表相应表字段对应的校验规则中设置从所述校验规则库中选择的与各字段匹配的规则,并设置是主动执行校验还是被动执行校验;以及设置当被动执行校验时的触发条件。
[0092] 在本实施例中,可以实现对规则模板表进行校验规则的配置,进而可以利用配置好的规则模板表对数据配置表中已经录入的数据进行规则校验。由于在对规则模板表进行校验规则配置时,只需从校验规则库中选择相应的校验规则(如是否为空,身份证校验,时间格式校验等类似规则)进行设置,并设置是否主动执行校验以及触发校验的条件即可,因此,本实施例只需利用配置好的规则模板表对数据配置表中已经录入的数据进行规则校验,因而无需依赖开发人员的开发工作,免去了繁杂的开发工作量,使得即便不懂开发的运维人员也可以实现数据的导入功能,只要运维人员学会配置数据模板表和规则模板表即可,由于配置数据模板表和规则模板表相对于开发工作来说,要简单灵活快捷很多,因此,本发明实施例使得数据导入变得更加轻松、灵活和快捷。此外,由于在本发明实施例中,校验规则是抽取出来放到规则库里的,因此校验规则具有可重用且低耦合的特性,因此便于相关人员灵活调用各种需要的校验规则。
[0093] 基于上述实施例的内容,在本实施例中,所述数据模板表中设置有checkFlag字段和checkMesg字段;
[0094] 相应地,利用所述规则模板表中配置的校验规则对所述数据模板表中已经录入的字段信息进行校验,反馈校验结果,具体包括:
[0095] 利用所述规则模板表中的校验规则对所述数据模板表中已经录入的字段信息进行校验,并在校验通过时在所述数据模板表的checkFlag字段中显示Y,且在checkMesg字段中显示校验通过;以及,在校验不通过时在所述数据模板表的checkFlag字段中显示N,且在checkMesg字段中显示对应哪个字段因什么原因校验不通过的具体信息。
[0096] 由于本实施例提供的Excel数据录入方法,可以采用上述实施例提供的Excel数据录入组件实现,其工作原理和有益效果类似,因此,具体处理过程可参见上述实施例的介绍,此处不再详述。
[0097] 图3示出了本发明一实施例提供的Excel数据录入装置的结构示意图,如图3所示,本发明实施例提供的Excel数据录入装置,包括:
[0098] 创建模块21,用于创建数据模板表和规则模板表;其中,所述数据模板表,用于供用户在所述数据模板表中录入目标Excel文件中包含的字段信息;其中,所述目标Excel文件为待进行录入的Excel文件;所述规则模板表,用于供用户在所述规则模板表中,为所述数据模板表中已经录入的字段配置相应的校验规则,其中,在为所述数据模板表中已经录入的字段配置相应的校验规则时,根据各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则;
[0099] 第一录入模块22,用于将待进行录入的目标Excel文件的字段信息录入至所述数据模板表中;
[0100] 规则配置模块23,用于根据所述数据模板表中已经录入的各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则,并将相应的检验规则配置在所述规则模板表中;
[0101] 校验模块24,用于利用所述规则模板表中配置的校验规则对所述数据模板表中已经录入的字段信息进行校验,反馈校验结果;
[0102] 第二录入模块25,用于在所述校验结果为校验通过时,将所述数据模板表中已经录入的字段信息录入至预设数据库中。
[0103] 由于本实施例提供的Excel数据录入装置,可以用于执行上述实施例提供的Excel数据录入方法,其工作原理和有益效果类似,此处不再详述。
[0104] 基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图4,所述电子设备具体包括如下内容:处理器301、存储器302、通信接口303和通信总线304;
[0105] 其中,所述处理器301、存储器302、通信接口303通过所述通信总线304完成相互间的通信;所述通信接口303用于实现各设备之间的信息传输;
[0106] 所述处理器301用于调用所述存储器302中的计算机程序,所述处理器执行所述计算机程序时实现上述Excel数据录入方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:创建数据模板表和规则模板表;其中,所述数据模板表,用于供用户在所述数据模板表中录入目标Excel文件中包含的字段信息;其中,所述目标Excel文件为待进行录入的Excel文件;所述规则模板表,用于供用户在所述规则模板表中,为所述数据模板表中已经录入的字段配置相应的校验规则,其中,在为所述数据模板表中已经录入的字段配置相应的校验规则时,根据各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则;将待进行录入的目标Excel文件的字段信息录入至所述数据模板表中;根据所述数据模板表中已经录入的各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则,并将相应的检验规则配置在所述规则模板表中;利用所述规则模板表中配置的校验规则对所述数据模板表中已经录入的字段信息进行校验,并反馈校验结果;在所述校验结果为校验通过时,将所述数据模板表中已经录入的字段信息录入至预设数据库中。
[0107] 基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述Excel数据录入方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:创建数据模板表和规则模板表;其中,所述数据模板表,用于供用户在所述数据模板表中录入目标Excel文件中包含的字段信息;其中,所述目标Excel文件为待进行录入的Excel文件;所述规则模板表,用于供用户在所述规则模板表中,为所述数据模板表中已经录入的字段配置相应的校验规则,其中,在为所述数据模板表中已经录入的字段配置相应的校验规则时,根据各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则;将待进行录入的目标Excel文件的字段信息录入至所述数据模板表中;根据所述数据模板表中已经录入的各字段的约束条件从所述校验规则库中为各字段选择相应的校验规则,并将相应的检验规则配置在所述规则模板表中;利用所述规则模板表中配置的校验规则对所述数据模板表中已经录入的字段信息进行校验,并反馈校验结果;在所述校验结果为校验通过时,将所述数据模板表中已经录入的字段信息录入至预设数据库中。
[0108] 此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0109] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0110] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的Excel数据录入方法。
[0111] 此外,在本发明中,诸如“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0112] 此外,在本发明中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0113] 此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0114] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。