一种通用导出excel的方法、单元和系统技术方案

技术编号:34953109 阅读:18 留言:0更新日期:2022-09-17 12:30
本发明专利技术本发明专利技术属于计算机技术领域,公开了一种通用导出excel的方法,包括依次进行的以下步骤:步骤1:从通用导出接口接收客户端发出的excel导出请求;步骤2:根据excel导出请求生成查询报文,所述查询报文中含有请求参数;步骤3:通过查询接口将查询报文发送给设备管理模块并接收设备管理模块的查询结果;步骤4:将查询结果按照excel导出请求中的导出参数进行处理,并渲染,将渲染后的页面发送给客户端。该方法采用SpringMVC框架实施,在该框架下实现通用导出接口和导出接口之间的映射,以及预先建立的导出接口、查询接口之间的协议转换关系,可通过通用导出接口调用查询接口实现excel数据的导出、渲染,将用户查询结果以渲染结果的形式展现在用户面前。此外,本发明专利技术还提供了实现该方法的单元和系统。供了实现该方法的单元和系统。供了实现该方法的单元和系统。

【技术实现步骤摘要】
一种通用导出excel的方法、单元和系统


[0001]本专利技术属于计算机
,更具体而言,涉及一种通用导出excel的方法、单元和系统。

技术介绍

[0002]现有技术中,前端的每个页面导出都需要编写一个导出的接口,其开发的工作量非常大。若是可以做成导出和查询列表的接口能够统一,只需要通过配置,后台就可以提供对应的导出接口,减少重复的工作,进而减少开发成本,是目前本领域技术人员急需解决的问题。
[0003]CN202010318953.8公开了一种通用微服务的web数据导出方法及装置,通过微服务提供一个初始化注册接口I,用来获取Token鉴权码,便于使用该微服务,并根据配置的前端框架自适应给出相应数据处理策略G;该方法无需编写后端导出接口,导出字段与查询字段保持一致、使用方便,无需增加额外依赖包。同时该服务支持当前4大主流前端框架,可根据不同框架给出不同策略,根据第一次初始化配置框架,即可所有所属页面使用通用功能;用户后端导出接口即可省略,无需自己手动添加即可导出页面数据,简单易用。
[0004]其具体的导出过程为:
[0005]步骤1,通过微服务提供一个初始化注册接口I,用来获取Token鉴权码,便于使用微服务,并根据配置的前端框架自适应给出相应数据处理策略G,初始化需要传入三个参数:前端框架类型Type、前端框架版本Version、使用者的公司名称Company;
[0006]步骤2,形成列名T与第一行数据R的对应关系;
[0007]步骤2.1,微服务提供导出接口H,对需导出的页面增加导出按钮后,调用导出接口H,导出请求Q报文的报文头中传入Token值,并根据API接口文档格式传入对应的参数,若Token校验失败,返回未知身份错误,若Token校验成功,得到初始化时提交的Type类型相对应的数据解析策略C;
[0008]步骤2.2,根据传入参数页面源地址Path,利用python技术获取网页源代码HTML,利用python源码解析规则解析网页展示的表格数据D,其中包含列名T以及第一行数据R,形成列名T与第一行数据R的对应关系;
[0009]步骤3,根据参数中获取的查询接口Interface和查询条件Condition,利用httpClient调用Interface接口,获取到表格响应数据O,形式为json数据形式,json的key值即为字段F,Value值即为数据内容R,为页面渲染表格的源数据;根据O中第一组数据O1,得到数据R与字段F的对应关系,再与步骤22中列名T与R数据的对应关系进行比较,得到列名T与字段F对应关系,即得到需导出的表格数据M;
[0010]步骤4,利用python的支撑库xlwt模块打开一个workbook文件并将数据循环遍历写入生成表格文件流,xlwt模块专用于读写excel文件,根据xlwt.workbook生成空白excel,然后将步骤3中的数据M遍历写入workbook,生成excel文件的http文件流,响应给用户,web数据导出结束。
[0011]在该对比文件中,其步骤2.1规定了微服务需要对每一个前端页面均需要增加导出接口,这无疑会增加微服务的工作量。
[0012]本案要解决的技术问题在于:如何实现查询接口和导出接口的统一。

技术实现思路

[0013]本专利技术的主要目的在于提供一种通用导出excel的方法,该方法采用SpringMVC框架实施,在该框架下实现通用导出接口和导出接口之间的映射,以及预先建立的导出接口、查询接口之间的协议转换关系,可通过通用导出接口调用查询接口实现excel数据的导出、渲染,将用户查询结果以渲染结果的形式展现在用户面前。
[0014]此外,本专利技术还提供了实现该方法的单元和系统。
[0015]根据本专利技术的第一方面,提供了一种通用导出excel的方法,包括依次进行的以下步骤:
[0016]步骤1:从通用导出接口接收客户端发出的excel导出请求;所述excel导出请求内含有导出参数和请求参数;
[0017]步骤2:根据excel导出请求生成查询报文,所述查询报文中含有请求参数;
[0018]步骤3:通过查询接口将查询报文中的请求参数发送给设备管理模块并接收设备管理模块的查询结果;所述查询结果由设备管理模块根据请求参数从数据库中获取;
[0019]步骤4:将查询结果按照excel导出请求中的导出参数进行处理,并渲染,将渲染后的页面发送给客户端。
[0020]在上述的通用导出excel的方法中,所述步骤2具体为:
[0021]步骤21:将excel导出请求按照页面导出接口的协议进行转换,得到导出报文;
[0022]步骤22:将导出报文按照页面查询接口的协议、页面导出接口的协议的转换关系转换为查询报文;所述查询报文中含有请求参数。
[0023]在上述的通用导出excel的方法中,所述请求参数包括设备序列号、在线状态、页面页码、每页条数。
[0024]在上述的通用导出excel的方法中,所述方法基于SpringMVC框架实施。
[0025]在一些其他实施案例中选择其他框架也是可行的,但是SpringMVC框架为现在在用的、流行的请求驱动类型的轻量级Web框架,尤其适用于本专利技术。
[0026]在上述的通用导出excel的方法中,所述步骤1中,通用导出接口通过SpringMVC框架中的控制器的RequestMapping注解实现。
[0027]在上述的通用导出excel的方法中,所述步骤3具体为通过Spring框架restTemplate工具调用查询接口。
[0028]在上述的通用导出excel的方法中,所述步骤1之后还包括:判断通用导出接口是否支持导出,若是进行步骤2,若否,结束进程。
[0029]此外,本专利技术还公开了一种通用导出excel的控制单元,包括如下模块:
[0030]请求接收模块:从通用导出接口接收客户端发出的excel导出请求;所述excel导出请求内含有导出参数和请求参数;
[0031]导出报文转换模块:用于将excel导出请求按照页面导出接口的协议进行转换,得到导出报文;
[0032]查询报文转换模块:用于导出报文按照页面查询接口的协议、页面导出接口的协议的转换关系转换为查询报文;所述查询报文中含有请求参数;
[0033]查询模块:用于通过查询接口将查询报文发送给设备管理模块并接收设备管理模块的查询结果;
[0034]设备管理模块:用于根据查询报文从数据库中获取查询结果;
[0035]渲染模块:用于将查询结果按照导出参数进行处理,并渲染,将渲染后的页面发送给客户端。
[0036]在上述的通用导出excel的控制单元中,所述控制单元基于SpringMVC框架实施。
[0037]最后,本专利技术还公开了一种通用导出excel的系统,包括客户端、数据库和如上所述的控制单元,所述客户端用于将excel导出请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用导出excel的方法,其特征在于,包括依次进行的以下步骤:步骤1:从通用导出接口接收客户端发出的excel导出请求;所述excel导出请求内含有导出参数和请求参数;步骤2:根据excel导出请求生成查询报文,所述查询报文中含有请求参数;步骤3:通过查询接口将查询报文发送给设备管理模块并接收设备管理模块的查询结果;所述查询结果由设备管理模块根据查询报文从数据库中获取;步骤4:将查询结果按照excel导出请求中的导出参数进行处理,并渲染,将渲染后的页面发送给客户端。2.根据权利要求1所述的通用导出excel的方法,其特征在于,所述步骤2具体为:步骤21:将excel导出请求按照页面导出接口的协议进行转换,得到导出报文;步骤22:将导出报文按照页面查询接口的协议、页面导出接口的协议的转换关系转换为查询报文;所述查询报文中含有请求参数。3.根据权利要求1所述的通用导出excel的方法,其特征在于,所述请求参数包括设备序列号、在先状态、页面页码、每页条数。4.根据权利要求1所述的通用导出excel的方法,其特征在于,所述方法基于SpringMVC框架实施。5.根据权利要求4所述的通用导出excel的方法,其特征在于,所述步骤1中,通用导出接口通过SpringMVC框架中的控制器的RequestMapping注解实现。6.根据权利要求4所述的通用导出excel的方法,其特征在于,所述步骤3具体为通...

【专利技术属性】
技术研发人员:王小青何奎曹连峰陶洋
申请(专利权)人:广州鲁邦通智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1