本发明涉及计算机计算领域,尤其是涉及一种导出excel文件的方法、模块及软件系统。
背景技术:
1、在wms系统中,一种常见的业务功能时常会被使用:各项数据如物料信息、用户信息、仓库信息、库存信息等内容导出到excel文件,以供企业用户进行各项数据统计工作或年终报告。各个企业对导出数据的用途不同,从而对导出的需求也不尽相同,体现在wms系统上,就是涉及到系统中的每个页面可能都会有导出的要求,并且不同用户对同一数据列表的导出内容也存在不同的要求。这样的不确定性会导致前后端花费大量的时间进行功能的研发和实现,并且根据用户的不同需求,对导出的excel文件的内容进行不同程度上的修改乃至定制实现,但因为不同的导出功能在部分处理逻辑中存在高度重复的内容,会带来琐碎且枯燥的重复性工作内容,也给系统开发带来额外的时间成本。
2、因此,现有的导出excel的方法存在效率低的现状。
技术实现思路
1、本发明的目的在于提供一种导出excel文件的方法、模块及软件系统,以提升导出excel的效率。
2、第一方面,本发明实施例提供了一种导出excel文件的方法,其中,包括:从通用导出接口接收客户端发送的查询条件;上述查询条件包括:查询接口名、查询方法、表头信息和待导出excel文件的文件名;上述表头信息包括多组键值对,每组上述键值对的键为字段名,值为上述字段名对应的中文名;根据上述查询接口名和上述查询方法,确定查询接口的接口定义信息和方法定义信息;基于上述接口定义信息和上述方法定义信息确定类信息;解析上述类信息,得到上述类信息中的字段和上述字段对应的注解内容;根据上述字段和上述注解内容构建映射规则;解析上述表头信息得到上述待导出excel文件的目标表头信息;根据上述接口定义信息和上述方法定义信息调用上述查询接口,通过上述查询接口查询数据库,得到查询数据列表;根据上述映射规则对上述查询数据列表进行处理,得到数据主体列表;根据待导出excel的文件名、上述数据主体列表和上述目标表头信息,输出上述待导出excel文件。
3、结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述注解内容包括排序标识和值替换标识;上述根据上述字段和上述注解内容构建映射规则的步骤,包括:根据上述字段和上述排序标识确定排序规则,根据上述字段和上述值替换标识确定值替换规则。
4、结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据上述字段和上述排序标识确定排序规则的步骤,包括:获取上述排序标识对应的字段的排序值;根据上述排序值的大小构建上述字段和上述排序标识的排序规则。
5、结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述值替换标识通过字典值进行定义;根据上述字段和上述值替换标识确定值替换规则的步骤,包括:获取上述值替换标识中的字典值;根据上述字典值查询得到对应的字典名称;根据上述字典值、上述字典名称和上述字段构建值替换规则。
6、结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,根据上述映射规则对上述查询数据列表进行处理,得到数据主体列表的步骤,包括:基于上述排序规则对查询数据列表进行排序,得到有序数据列表;基于上述值替换规则对上述有序数据列表进行值替换,得到数据主体列表。
7、结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,解析上述表头信息得到上述待导出excel文件的目标表头信息的步骤,包括:解析上述表头信息,得到上述表头信息中键值对的值;将上述键值对的值作为上述待导出excel文件的目标表头信息。
8、结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,根据待导出excel的文件名、上述数据主体列表和上述目标表头信息,输出上述待导出excel文件的步骤,包括:将上述待导出excel的文件名传入easyexcel,构造初始excelwriter对象;创建初始writesheet表格;将上述数据主体列表和上述目标表头信息存入上述初始writesheet表格,得到目标writesheet表格;将上述目标writesheet表格写入上述初始excelwriter对象,得到目标excelwriter对象;将上述目标excelwriter对象转换为字节流返回上述客户端,以通过上述客户端根据上述字节流输出上述待导出excel文件。
9、结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,在根据上述查询接口名和上述查询方法,确定查询接口的接口定义信息和方法定义信息的步骤之前,上述方法还包括:查询上述查询接口名和上述查询方法是否均有效;如果均有效,根据上述查询接口名和上述查询方法,确定查询接口的接口定义信息和方法定义信息;否则,返回查询接口名无效的提示信息,并结束导出任务。
10、第二方面,本发明实施例提供了一种导出excel文件的模块,其中,包括:查询条件接收子模块,用于从通用导出接口接收客户端发送的查询条件;上述查询条件包括:查询接口名、查询方法、表头信息和待导出excel文件的文件名;上述表头信息包括多组键值对,每组上述键值对的键为字段名,值为上述字段名对应的中文名;自定义信息确定子模块,用于根据上述查询接口名和上述查询方法,确定查询接口的接口定义信息和方法定义信息;类信息确定子模块,用于基于上述接口定义信息和上述方法定义信息确定类信息;注解内容确定子模块,用于解析上述类信息,得到上述类信息中的字段和上述字段对应的注解内容;映射规则构建子模块,用于根据上述字段和上述注解内容构建映射规则;表头信息确定子模块,用于解析上述表头信息得到上述待导出excel文件的目标表头信息;查询数据列表获取子模块,用于根据上述接口定义信息和上述方法定义信息调用上述查询接口,通过上述查询接口查询数据库,得到查询数据列表;数据主体列表获取子模块,用于根据上述映射规则对上述查询数据列表进行处理,得到数据主体列表;excel文件导出子模块,用于根据待导出excel的文件名、上述数据主体列表和上述目标表头信息,输出上述待导出excel文件。
11、第三方面,本发明实施例提供了一种软件系统,其中,上述软件系统包括:第二方面上述的导出excel文件的模块、用户及角色基础信息管理模块、入库管理模块、出库管理模块及库存管理模块;其中,上述用户及角色基础信息管理模块、上述入库管理模块、上述出库管理模块、上述库存管理模块以及上述导出excel文件的模块依次相连;上述用户及角色基础信息管理模块用于创建用户的可执行权限;上述入库管理模块用于根据上述可执行权限执行与上述可执行权限对应的入库流程,并创建入库单据;上述出库管理模块还用于根据上述可执行权限执行与上述可执行权限对应的出库流程,并创建出库单据;上述库存管理模块用于根据上述入库单据和上述出库单据,调整库存数量;上述导出excel文件的模块用于导出上述用户的用户信息、上述入库单据、上述出库单据以及上述库存数量对应的待导出excel的文件名、上述数据主体列表和上述目标表头信息,输出上述待导出excel文件。
12、本发明实施例带来了以下有益效果:
13、本发明实施例提供了一种导出excel文件的方法、模块及软件系统,包括:从通用导出接口接收客户端发送的查询条件;上述查询条件包括:查询接口名、查询方法、表头信息和待导出excel文件的文件名;上述表头信息包括多组键值对,每组上述键值对的键为字段名,值为上述字段名对应的中文名;根据上述查询接口名和上述查询方法,确定查询接口的接口定义信息和方法定义信息;基于上述接口定义信息和上述方法定义信息确定类信息;解析上述类信息,得到上述类信息中的字段和上述字段对应的注解内容;根据上述字段和上述注解内容构建映射规则;解析上述表头信息得到上述待导出excel文件的目标表头信息;根据上述接口定义信息和上述方法定义信息调用上述查询接口,通过上述查询接口查询数据库,得到查询数据列表;根据上述映射规则对上述查询数据列表进行处理,得到数据主体列表;根据待导出excel的文件名、上述数据主体列表和上述目标表头信息,输出上述待导出excel文件。该方法通过接口定义信息和方法定义信息对导出内容的表头和数据主体进行自定义的配置,显著减少技术研发的工作量,提高研发效率。
14、本实施例公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
15、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。