1. 程式人生 > >JS&簡單POI實現前端多個jqgrid列表匯出Excel

JS&簡單POI實現前端多個jqgrid列表匯出Excel

前兩天接到一個需求,使用者需要將前端展示的多個jqgrid批量匯出,因為jqgrid是動態生成的多個列表,並且具有相同行合併效果,由於每個列表沒有分頁,所以打算通過前端將資料收集,而不是利用POI進行資料查詢再匯出。

1.首先要獲取每個jqgrid名字,該項可以通過定義變數,在每次動態生成的時候將名字存入一個數組。


2.通過js遍歷每個jqgrid的列標題和資料內容,存入陣列,此處根據具體需求修改,由於我是要匯出的帶有合併同類行的效果,所以當發現下一行如果和上一行的標題列相同就不顯示。


3.並不是純前端實現匯出,所以要將資料傳到後臺,拼form表單提交,將資料放入隱藏域,通過Java POI技術匯出,前面遍歷出來的是陣列。


4.後臺處理很簡單,因為不需要根據條件去資料庫查詢,只需要將我們傳過去的資料按上面約定好的每個jqgrid按照@符號分割,然後迴圈建立sheet就好,此處可以改善,比如給每個sheet命名,加上一些樣式,或者把每個jqgrid放入同一sheet頁等,不過這些都不是事,做到現在就能愉快的匯出啦~