日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

导出excel表格,前端和后台导出

發布時間:2025/5/22 HTML 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 导出excel表格,前端和后台导出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題:項目框架中導出不知道有什么限制,數據稍微大點導出不了,向上面請求解決,結果一圈推下來又推回來了,所以決定自己寫,參考了網上很多大神的博客,開始試了前端導出,想著比較簡單,但是亂碼問題始終解決不了,方法也貼上來,如果有大佬會的可以指點下。

?

前段導出:

  首先綁定導出按鈕的click事件,我查詢是一次性查詢過來的,然后數據存在全局中,調用導出方法傳入數據

  然后寫導出方法:

  • tableToExcel:?function?(dataSource)?{??
  • ????????????????console.log(dataSource);??
  • ????????????????//列標題,逗號隔開,每一個逗號就是隔開一個單元格??
  • ????????????????var?data?=?"日期,城市名稱,設備,網元,告警標題,發生時間,恢復時間,恢復歷時\n";?????
  • ????????????????//增加\t為了不讓表格顯示科學計數法或者其他格式????????
  • ????????????????for(var?i?=?0?;?i?<?dataSource.length?;?i++?){??????????
  • ????????????????????for(var?item?in?dataSource[i]){??????????????
  • ????????????????????????data+=method.GB2321TOUFT8(dataSource[i][item])+'\t';????
  • ????????????????????}??????????
  • ????????????????????data+='\n';????????
  • ????????????????};???
  • ????????????????//data?=?method.GB2321TOUFT8(data);??
  • ????????????????console.log(data);??
  • ????????????????var?blob?=?new?Blob([data],?{?type:?'text/csv'?});?//new?way???
  • ????????????????var?csvUrl?=?URL.createObjectURL(blob);???
  • ????????????????document.getElementById("mylink").href?=?csvUrl;??
  • ??????????????????
  • ????????????},
  • 導出可以導出,但是用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表格,前端和后台导出的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。