JqGrid分頁表格數據導出excel而兩種方式

首先要肯定一個問題:前端

你的數據返回的方式是一次性加載完仍是點擊下一頁從新請求服務器

根據你上邊數據返回的方式,咱們分類來處理。web


第一種:點擊下一頁從新請求服務器

這種的話,每次點擊下一頁是須要從新請求服務器的,因此咱們只需發送請求,而後後臺從數據庫select數據獲得list,將list傳給生成EXCEL的函數(通常都是用POI)。數據庫

好比:當用戶搜索性別爲女的學生時,
在這裏插入圖片描述後端

前端給後端發送post請求(帶參數的)服務器

在這裏插入圖片描述

後端響應第一頁的數據。異步

在這裏插入圖片描述

而咱們點擊導出的時候,咱們須要獲取搜索操做的請求內容,發給後端。svg

通過個人不懈努力,我在$("#grid")對象中找到了上次請求的數據:函數

在這裏插入圖片描述

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

那麼我只須要獲取這個對象,而後當用戶點擊導出按鈕以後,帶上postData的參數,發送導出文件的請求,而後後端根據參數查詢出全部符合條件的student對象,組合成一個list,而後生成excel文件流,供用戶下載。
**PS:**關於後端傳文件流,前端如何保存爲文件下載下來。這個我在第二種方式裏邊介紹過經過文件流異步實現下載文件,有興趣的能夠去看看。.net


第二種:一次性加載完

這一種,我在上一篇博客中已經介紹過這個方法,因此直接上鍊接。

傳送門戳我

相關文章
相關標籤/搜索