JqGrid分页表格数据导出excel而两种方式

首先要肯定一个问题:前端

你的数据返回的方式是一次性加载完仍是点击下一页从新请求服务器

根据你上边数据返回的方式,咱们分类来处理。web


第一种:点击下一页从新请求服务器

这种的话,每次点击下一页是须要从新请求服务器的,因此咱们只需发送请求,而后后台从数据库select数据获得list,将list传给生成EXCEL的函数(通常都是用POI)。数据库

好比:当用户搜索性别为女的学生时,
在这里插入图片描述后端

前端给后端发送post请求(带参数的)服务器

在这里插入图片描述

后端响应第一页的数据。异步

在这里插入图片描述

而咱们点击导出的时候,咱们须要获取搜索操做的请求内容,发给后端。svg

通过个人不懈努力,我在$("#grid")对象中找到了上次请求的数据:函数

在这里插入图片描述

具体位置是在$("#grid")[0].p.postDatapost

那么我只须要获取这个对象,而后当用户点击导出按钮以后,带上postData的参数,发送导出文件的请求,而后后端根据参数查询出全部符合条件的student对象,组合成一个list,而后生成excel文件流,供用户下载。
**PS:**关于后端传文件流,前端如何保存为文件下载下来。这个我在第二种方式里边介绍过经过文件流异步实现下载文件,有兴趣的能够去看看。.net


第二种:一次性加载完

这一种,我在上一篇博客中已经介绍过这个方法,因此直接上链接。

传送门戳我

相关文章
相关标签/搜索