导出excel表格,前端和后台导出
問題:項目框架中導出不知道有什么限制,數據稍微大點導出不了,向上面請求解決,結果一圈推下來又推回來了,所以決定自己寫,參考了網上很多大神的博客,開始試了前端導出,想著比較簡單,但是亂碼問題始終解決不了,方法也貼上來,如果有大佬會的可以指點下。
?
前段導出:
首先綁定導出按鈕的click事件,我查詢是一次性查詢過來的,然后數據存在全局中,調用導出方法傳入數據
然后寫導出方法:
導出可以導出,但是用window7自帶的excel打開就是亂碼,用記事本查看編碼是utf_8編碼,轉換成ANSI編碼就不亂碼了,查了了ANSI編碼就是GB2321編碼,找了很多轉換方法沒有轉換過來,讓客戶自己轉換編碼不實際,所以放棄,用后臺導出。
?
?后臺導出:
后臺導出也是要前段的a標簽配合,寫一個導出按鈕,包含a標簽
查詢按鈕改為設置a標簽href屬性為后臺地址
后臺路徑要保持一致,為了代碼復用方便,我封裝了這個導出方法,傳入的時候傳這么幾個參數(一個包含每行數據的集合,列頭名集合,導出表格名字,還有request和response對象)
封裝的方法,其實也不算完全封裝,有些缺陷,注意我寫的是數據查詢出來都要轉換成string類型的,我是寫死的
?
? 至此結束,瀏覽器會詢問你是否下載文件,還有導出用的是poi的SXSSFWorkbook,這是為大數據導出使用的,適合大數據量導出,還有HSSFWorkbook,但是取數據大的話容易內存泄漏,里面設置也比較多,可以研究一下,還有一種csv導出,好像性能什么更加好,這個沒有研究,有研究了再寫博客。
?
轉載于:https://www.cnblogs.com/grasslucky/p/9953571.html
總結
以上是生活随笔為你收集整理的导出excel表格,前端和后台导出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用vue制作饿了么首页(1)
- 下一篇: 数据库正常运行,突然变慢的解决思路