1. 程式人生 > >JqGrid分頁表格資料匯出excel而兩種方式

JqGrid分頁表格資料匯出excel而兩種方式

首先要確定一個問題:

你的資料返回的方式是一次性載入完還是點選下一頁重新請求伺服器

根據你上邊資料返回的方式,我們分類來處理。


第一種:點選下一頁重新請求伺服器

這種的話,每次點選下一頁是需要重新請求伺服器的,所以我們只需傳送請求,然後後臺從資料庫select資料得到list,將list傳給生成EXCEL的函式(一般都是用POI)。

比如:當用戶搜尋性別為女的學生時,
在這裡插入圖片描述

前端給後端傳送post請求(帶引數的)

在這裡插入圖片描述

後端響應第一頁的資料。

在這裡插入圖片描述

而我們點選匯出的時候,我們需要獲取搜尋操作的請求內容,發給後端。

經過我的不懈努力,我在$("#grid")

物件中找到了上次請求的資料:

在這裡插入圖片描述

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

那麼我只需要獲取這個物件,然後當用戶點選匯出按鈕之後,帶上postData的引數,傳送匯出檔案的請求,然後後端根據引數查詢出所有符合條件的student物件,組合成一個list,然後生成excel檔案流,供使用者下載。
**PS:**關於後端傳檔案流,前端如何儲存為檔案下載下來。這個我在第二種方式裡邊介紹過通過檔案流非同步實現下載檔案,有興趣的可以去看看。


第二種:一次性載入完

這一種,我在上一篇部落格中已經介紹過這個方法,所以直接上連線。

傳送門戳我