一种IOP平台的表格导出方法与流程

文档序号:14249647阅读:681来源:国知局

本发明涉及表格导出方法,具体涉及一种iop平台的表格导出方法。



背景技术:

近年来随着大数据、云计算的发展,云平台也越来越多。有很多的云平台项目中的信息以表格的形式展示。云平台展示的信息繁多,种类也多样。用户可能需要对表格中的数据进行加工处理,如统计、计算、对比等。但是云平台上的表格不具备强大的类似于office软件的功能。这时就需要给用户提供一个导出表格的功能,用户可以导出表格为excel文件,如需二次加工可借助excel的工具,然后可以留档等。

iop平台表格获取数据的方式有后台分页接口获取、后台不分页接口获取和前端js里直接定义的数组数据三种。传统的表格导出功能只是基于前端的导出已经返回的数据,适用于后两种获取数据的方式。后台分页接口获取的数据是按页获取的,比如一次后台只返回这一页的数据,因此传统的表格导出功能只能导出表格一页的数据,不能导出所有的数据。



技术实现要素:

为解决上述问题,本发明提供一种iop平台的表格导出方法,该方法可针对各种表格获取数据方式导出表格的所有数据为excel格式,方便用户对表格数据进行二次加工以及保存等操作。

本发明的技术方案是:一种iop平台的表格导出方法,包括以下步骤:

初始化表格时传入开闭参数;

当开闭参数为开启状态时,触发导出命令时,根据表格获取数据方式生成导出参数传入后台,后台根据导出参数生成表格下载到本地。

进一步地,所述导出参数包括:列模型参数、导出类型参数。

进一步地,列模型参数包括:表示表格表头上每一列内容的label子参数、表示获取数据中这一列取值的key值field子参数、表示每一列宽度的width子参数。

进一步地,表格获取数据方式为后台分页接口获取时,导出类型参数为dynamic类型;

表格获取数据方式为后台不分页接口获取时,导出类型参数为source类型;

表格获取数据方式为前端js里直接定义数组数据时,导出类型参数为static类型。

进一步地,当表格获取数据方式为后台分页接口获取或后台不分页接口获取时,导出参数还包括获取表格数据的url参数。

进一步地,当表格获取方式为后台分页接口获取时,导出参数还包括分页接口设置参数。

进一步地,当获取表格数据的url参数为/records/1/10,则分页接口设置参数为true;

当获取表格数据的url参数为/records?pageno=1&pagesize=10,则分页接口设置参数为false。

进一步地,当表格获取方式为后台分页接口获取时,导出参数还包括导出数据总数参数。

进一步地,当表格获取数据方式为前端js里直接定义数组数据时,导出参数还包括与列模型参数对应的导出数据参数。

进一步地,导出参数还包括:导出文件名参数。

本发明提供的iop平台的表格导出方法,根据表格获取数据的不同方式向后台传入不同的参数,后台根据相应参数生成excel文件下载到本地,用户可以对此excel文件进行操作等,不仅可以更直观的看到表格中的数据,还可以对表格的数据进行统计、查询、排序等操作。本发明实现针对各种表格获取数据方式导出表格的所有数据为excel格式,方便用户对表格数据进行二次加工以及保存等操作。

附图说明

图1是本发明具体实施例流程方法流程图。

具体实施方式

下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。

本发明提供的iop平台的表格导出方法,其核心思想为:首先在初始化表格的时候传入参数,然后根据参数判断是否开启表格的导出功能;其次若是开启了表格的导出功能,点击导出按钮时,根据表格获取数据的方式生成对应的参数传到后台;最后后台根据传入的参数进行数据的查询以及组装成excel下载到本地。

如图1所示,其具体包括以下步骤:

s1:初始化表格时传入开闭参数;

需要说明的是,开闭参数为开启状态,即为true时,开启表格的导出功能,为关闭状态,即为false时,不开启表格的导出功能。默认值为true。表格生成后,在表格的右下角可添加一个导出表格的按钮,点击该按钮可触发导出命令。

s2:当开闭参数为开启状态时,触发导出命令时,根据表格获取数据方式生成导出参数传入后台,后台根据导出参数生成表格下载到本地。

表格获取数据的方式有三种,分别为后台分页接口获取、后台不分页接口获取和前端js里直接定义数组数据。

这三种表格获取数据方式均必须设置导出参数包括列模型参数、导出类型参数。

其中,列模型参数包括:表示表格表头上每一列内容的label子参数、表示获取数据中这一列取值的key值field子参数、表示每一列宽度的width子参数。具体地,其为列对象数组拼成的字符串‘[{label:"",field:"",width:100},{...}]’,label表格表头上每一列的内容,对应到excel表格的表头的每一列上;field为获取数据中这一列的取值的key值,对应后端代码的实体类中的变量名;width为表格每一列的宽度,根据这个宽度设置生成的excel表格的每一列的宽度。

导出类型参数具体为:表格获取数据方式为后台分页接口获取时,导出类型参数为dynamic类型;表格获取数据方式为后台不分页接口获取时,导出类型参数为source类型;表格获取数据方式为前端js里直接定义数组数据时,导出类型参数为static类型。

当表格获取数据方式为后台分页接口获取时,导出参数还包括:获取表格数据的url参数、分页接口设置参数和导出数据总数参数。当获取表格数据的url参数为/records/1/10,则分页接口设置参数为true;当获取表格数据的url参数为/records?pageno=1&pagesize=10,则分页接口设置参数为false。

当表格获取数据方式为后台不分页接口获取时,导出参数也包括获取表格数据的url参数。

当表格获取数据方式为前端js里直接定义数组数据时,导出参数还包括与列模型参数对应的导出数据参数。导出数据参数,属性需要和列模型中的field子参数对应。

另外,所有表格获取数据方式的导出参数还可设置导出文件名参数。

三种表格获取数据的方式,其对应参数类型具体如下:

(1)后台分页接口(动态导出):data={

_export_cols_:exportcols,

_type_:'dynamic',

_is_rest_:'true',

_total_:total,

_url_:url,

_file_name_:name

}

(2)后台不分页接口(数据源导出):data={

_export_cols_:exportcols,

_type_:'source',

_url_:url,

_file_name_:name

}

(3)静态数据导出(静态导出):data={

_export_cols_:exportcols,

_type_:'static',

_export_datas_:export_datas,

_file_name_:name

}

其中,_export_cols_:表示列模型,列对象数组拼成的字符串‘[{label:"",field:"",width:100},{...}]’,label表格表头上每一列的内容,对应到excel表格的表头的每一列上;field为获取数据中这一列的取值的key值,对应后端代码的实体类中的变量名;width为表格每一列的宽度,根据这个宽度设置生成的excel表格的每一列的宽度。

_file_name_:导出文件的名称,若不填,则默认为un_named。

_type_:导出类型,static为静态导出,source为有数据源的数据导出(通过url获取数据),dynamic为动态导出(导出所有数据)。

_export_datas_:为要导出的数据,属性需要和_export_cols_中的field对应。

_url_:获取表格数据的url。

_total_:导出的数据总数。

_is_rest_(分页接口设置):若url形如:/records/1/10,需要设置_is_rest_参数为true;若url形如:/records?pageno=1&pagesize=10,则设置_is_rest_为false。

生成的这些参数传到后台,后台根据这些参数进行数据查询(静态数据则不需要查询),然后根据查询到的数据结合_export_cols_中的值生成excel表格文件,并下载下来。excel文件的名为参数里_file_name_的值。

以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

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