一种excel多配置来源的导入导出方法及系统与流程

文档序号:37517360发布日期:2024-04-01 14:29阅读:10来源:国知局
一种excel多配置来源的导入导出方法及系统与流程

本发明涉及计算机,具体而言,涉及一种excel多配置来源的导入导出方法及系统。


背景技术:

1、excel是一种电子表格软件。它是办公自动化软件中最常用的应用程序之一,被广泛用于处理、分析和存储数据。excel提供了一套强大的功能,包括数据输入、计算、图表和图形展示、数据分析、数据筛选和排序等,使用户能够轻松地进行各种数据处理任务。

2、在工作中,excel具有重要的地位。它被广泛应用于各个行业和领域,包括财务、会计、统计、市场研究、项目管理、人力资源等。excel可以帮助用户处理和分析大量的数据,进行复杂的计算和建模,生成报表和图表,以及进行数据可视化。它提供了直观的界面和用户友好的功能,使得用户可以快速、灵活地进行数据处理和分析工作。

3、在信息化建设中,excel的导入导出技术方案是非常重要的一环。许多组织和企业都需要将excel中的数据与其他系统进行交互和集成。目前市面上有很多不同开发语言的针对excel文件进行修改、读取等操作的工具方法,并且通过web技术实现http/https接口,能够让程序实现对excel文件的导入导出。不过这是一种最基本的处理方式。

4、实际应用中,excel文件的导入还需要对上传文件进行限制校验,对文件中的表格数据进行数据合法性、数据有效性(组织机构、代码表)、业务关联性校验才能入库。而不同业务之间的校验条件都是有差异的,没有通用的校验规则。导致每次新业务导入开发都要重新编写代码去校验、转换,会耗费大量不必要的重复工作。虽然市面上有可视化动态配置校验规则的方式,但这种方式也只能配置时间格式、数字、非空等常规校验。而对业务关联性、数据有效性这种需要在数据库中查询数据进行校验的,在线配置规则脚本就比较繁琐、不易理解,甚至不能满足要求。而数据关联性、有效性又是数据导入校验的重点。

5、而实际应用中,excel文件的导出虽然不会进行严格的数据校验,但是会对导出的excel表格格式要求很高。不同业务、不同企业对于导出的excel格式要求都不一样。市面上比较原生简单的处理方式是基于绘图的思想,直接使用excel操作工具对表格一行一行循环构造。但是这种方式代码繁琐,工作量大,开发效率低而且每次变更都会改代码。所以市面上使用更多的还是基于模版文件替换的思想,创建excel文件模版,在模版中编写好表格样式,在需要填入数据的地方输入表达式,然后使用excel操作工具根据表达式将数据填充到模版中,然后返回给用户。这种方式提高了开发效率,也降低了表格格式的构造难度。但是这种方式excel模版是需要放到代码中的,而实际使用时业务需求是会变更的,对于表格的展示列项、展示位置都是可能会改变的,这个时候就要修改excel模版,重新部署服务。这样降低了应用服务的稳定性,增加了额外的运维成本。而且对于用户名称、组织机构、代码表等类别数据一般存储的都是对应的编码、id值,导出时是需要转换为对外展示的数据格式。还有数据填充后还可能需要对excel单元格进行合并操作。这些操作每个业务都要开发人员重新去编写代码去调用工具、数据方法去处理数据,重复繁琐的操作增加了开发成本,降低开发效率。

6、有鉴于此,特提出本技术。


技术实现思路

1、本发明的目的在于提供一种excel多配置来源的导入导出方法及系统,解决现有的excel导入导出方法效率低的问题。

2、本发明通过下述技术方案实现:

3、一方面,提供一种excel多配置来源的导入导出方法,包括以下步骤:定义业务配置来源接口类,将实现类对象按照优先级顺序添加到业务配置管理器中;在所述业务配置来源接口类中定义多个业务配置方法;定义数据处理接口类,在所述数据处理接口类中定义多个数据处理方法;定义对象转换工具,所述对象转换工具包含多种数据转换方法;基于spring validation定义用于校验系统对象数据的注解;定义填充工具,所述填充工具用于将填充excel模板的数据和方法整合为填充配置对象,并依据所述填充配置对象执行填充方法;封装构造工具,所述构造工具用于填充配置对象;设置excel数据读取接口、excel导入接口、excel导出接口和导入示例文件下载接口,并分别为每一个接口提供对应的业务编码参数。

4、进一步的,在所述业务配置来源接口类中定义多个业务配置方法,包括以下步骤:定义配置方法a1;所述配置方法a1用于通过业务编码参数获取业务的配置元数据;所述配置元数据包括:导出模板文件id、导入文件的格式大小限制和导入示例文件id;定义配置方法b1;所述配置方法b1用于通过文件id返回模板文件元数据;所述模板文件元数据包括:文件名和文件类型;定义配置方法c1;所述配置方法c1用于通过文件id返回文件流数据;在所述数据处理接口类中定义多个数据处理方法,包括以下步骤:定义处理方法a2;所述处理方法a2用于根据业务编码查询返回多个excel工作簿的easyexcel读取规则;定义处理方法b2;所述处理方法b2用于对过滤读取得到的excel数据进行处理;定义处理方法c2;所述处理方法c2用于根据过滤后的excel数据以及自定义请求参数进行业务处理;定义处理方法d2;所述处理方法d2用于根据自定义请求参数返回excel填充配置对象。

5、进一步的,设置excel数据读取接口,包括以下步骤:根据业务编码,在配置管理器中的优先顺序,遍历调用多个所述配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并以配置信息校验接口参数和文件;根据业务编码,在excel处理管理器遍历对应的接口,通过调用所述处理方法a2返回导入规则;根据导入规则,使用easyexcel读取导入的excel文件;使用spring validation进行数据检查,若检查不通过则返回不规范数据的提示信息;将对象工具转换为数据模型;调用所述处理方法b2过滤数据,过滤后的数据给请求者。

6、进一步的,设置excel导入接口包括以下步骤:根据业务编码,在配置管理器中按优先顺序遍历调用多个所述配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并以配置信息校验接口参数和文件;根据业务编码,在excel处理管理器中遍历对应的接口,通过调用所述处理方法a2返回导入规则;根据导入规则,使用easyexcel读取导入的excel文件;使用spring validation注解标记对数据进行检查,若检查不通过,则返回不规范数据的提示信息;将对象工具转换为数据模型;调用所述处理方法b2对数据进行过滤;调用所述处理方法c2对过滤后的数据进行业务处理,返回处理结果给请求者。

7、进一步的,设置excel导出接口包括以下步骤:根据业务编码,在配置管理器中按优先顺序遍历调用多个所述配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并通过配置信息对接口参数进行校验;根据业务编码,在excel处理管理器中遍历对应的接口,通过调用所述处理方法b4火器填充配置对象;从业务配置信息中导出模板文件id,通过在配置管理器中调用所述配置方法a2获取模板文件信息,设置返回信息;根据业务配置信息中的示例文件id,在配置管理器中调用配置方法a3,得到导出模板文件流;使用填充工具将填充配置数据填充到excel模板文件流中;返回填充完的excel文件流给请求者。

8、进一步的,设置导入示例文件下载接口包括以下步骤:根据业务编码,在配置管理器中按照优先顺序遍历调用多个配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并以配置信息对接口参数进行校验;根据业务配置信息中示例文件id,在配置管理器中调用配置方法a2,得到示例文件信息,设置返回信息;根据业务配置信息中的示例文件id,在配置管理器中调用配置方法a3,得到导出模板文件流。

9、另一方面,提供一种excel多配置来源的导入导出系统,包括:业务配置接口类定义模块,用于定义业务配置来源接口类,将实现类对象按照优先级顺序添加到业务配置管理器中;在所述业务配置来源接口类中定义多个业务配置方法;数据处理接口类定义模块,用于定义数据处理接口类,在所述数据处理接口类中定义多个数据处理方法;对象转换工具定义模块,用于定义对象转换工具,所述对象转换工具包含多种数据转换方法;对象数据注解定义模块,用于基于spring validation定义用于校验系统对象数据的注解;填充工具定义模块,用于定义填充工具,所述填充工具用于将填充excel模板的数据和方法整合为填充配置对象,并依据所述填充配置对象执行填充方法;构造工具封装模块,用于封装构造工具,所述构造工具用于填充配置对象;接口设置模块,用于设置excel数据读取接口、excel导入接口、excel导出接口和导入示例文件下载接口,并分别为每一个接口提供对应的业务编码参数。

10、进一步的,所述业务配置接口类定义模块包括:第一配置方法定义单元,用于定义配置方法a1;所述配置方法a1用于通过业务编码参数获取业务的配置元数据;所述配置元数据包括:导出模板文件id、导入文件的格式大小限制和导入示例文件id;第二配置方法定义单元,用于定义配置方法b1;所述配置方法b1用于通过文件id返回模板文件元数据;所述模板文件元数据包括:文件名和文件类型;第三配置方法定义单元,用于定义配置方法c1;所述配置方法c1用于通过文件id返回文件流数据。

11、进一步的,所述数据处理接口类定义模块包括:第一处理方法定义单元,用于定义处理方法a2;所述处理方法a2用于根据业务编码查询返回多个excel工作簿的easyexcel读取规则;第二处理方法定义单元,用于定义处理方法b2;所述处理方法b2用于对过滤读取得到的excel数据进行处理;第三处理方法定义单元,用于定义处理方法c2;所述处理方法c2用于根据过滤后的excel数据以及自定义请求参数进行业务处理;第四处理方法定义单元,用于定义处理方法d2;所述处理方法d2用于根据自定义请求参数返回excel填充配置对象。

12、进一步的,所述接口设置模块包括:数据读取接口设置单元,用于根据业务编码,在配置管理器中的优先顺序,遍历调用多个所述配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并以配置信息校验接口参数和文件;根据业务编码,在excel处理管理器遍历对应的接口,通过调用所述处理方法a2返回导入规则;根据导入规则,使用easyexcel读取导入的excel文件;使用spring validation进行数据检查,若检查不通过则返回不规范数据的提示信息;将对象工具转换为数据模型;调用所述处理方法b2过滤数据,过滤后的数据给请求者;导入接口设置单元,用于根据业务编码,在配置管理器中按优先顺序遍历调用多个所述配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并以配置信息校验接口参数和文件;根据业务编码,在excel处理管理器中遍历对应的接口,通过调用所述处理方法a2返回导入规则;根据导入规则,使用easyexcel读取导入的excel文件;使用spring validation注解标记对数据进行检查,若检查不通过,则返回不规范数据的提示信息;将对象工具转换为数据模型;调用所述处理方法b2对数据进行过滤;调用所述处理方法c2对过滤后的数据进行业务处理,返回处理结果给请求者;导出接口设置单元,用于根据业务编码,在配置管理器中按优先顺序遍历调用多个所述配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并通过配置信息对接口参数进行校验;根据业务编码,在excel处理管理器中遍历对应的接口,通过调用所述处理方法b4火器填充配置对象;从业务配置信息中导出模板文件id,通过在配置管理器中调用所述配置方法a2获取模板文件信息,设置返回信息;根据业务配置信息中的示例文件id,在配置管理器中调用配置方法a3,得到导出模板文件流;使用填充工具将填充配置数据填充到excel模板文件流中;返回填充完的excel文件流给请求者。

13、进一步的,所述数据处理接口类定义模块还包括:示例文件下载接口设置单元;所述示例文件下载接口设置单元用于根据业务编码,在配置管理器中按照优先顺序遍历调用多个配置方法a1,直到所述配置方法a1具有有效数据后返回业务配置,并以配置信息对接口参数进行校验;根据业务配置信息中示例文件id,在配置管理器中调用配置方法a2,得到示例文件信息,设置返回信息;根据业务配置信息中的示例文件id,在配置管理器中调用配置方法a3,得到导出模板文件流。

14、本发明与现有技术相比,具有如下的优点和有益效果:

15、1、本发明可简单快速地开发excel读取、导入、导出的功能,省略了http/https接口、访问日志、访问权限、参数检查、excel数据读取操作、数据校验错误信息响应等通用功能的代码开发,简化了数据校验、数据转换、excel模版数据填充等操作的开发。并且提供了默认导出模版(服务本地模版文件)以及实时自定义更新模版的机制,让服务在正常使用且不修改代码、重启服务的情况下更新导出的模版文件。开发者不需要关注excel文件的上传、读取、填充等操作。

16、2、excel读取只需要简单实现数据处理的java接口类的处理方法,然后将实现类根据业务编码注册到excel处理管理器中,随后访问统一的读取接口,传入业务编码参数以及对应的excel文件即可获取到excel中需要的数据。

17、3、excel导入只需要简单实现数据处理的java接口类的处理方法,然后将实现类根据业务编码注册到excel处理管理器中,随后访问统一的导入接口,传入业务编码参数以及对应的excel文件即可获取到excel中需要的数据,并在处理方法中自定义处理。还能通过导入示例模版接口动态提供导入excel文件的示例文件。

18、4、excel导入只需要简单实现数据处理的java接口类的处理方法,然后将实现类根据业务编码注册到excel处理管理器中,随后访问统一的导出接口,传入业务编码、自定义参数即可导出excel数据。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1