vue通過接口直接下載java生成好的Excel表格案例
通過瀏覽器直接訪問導出接口就會自動下載創(chuàng)建好的 Excel 表格。但是我們在vue里使用axios請求接口,一般是處理json數(shù)據(jù),如果要處理文件流數(shù)據(jù),需要做下特殊處理即可直接下載文件。
假如 下載Excel接口為:/apis/downExcel,則請求如下
import axios from 'axios' export const exportFile = params => { var param = new URLSearchParams() param.append('beginTime', params.beginTime) param.append('endTime', params.endTime) return axios({ method: 'post', data: param, url: '/apis/downExcel', responseType: 'blob' }) }
下載按鈕觸發(fā)下載方法如下:
downExcel() { var params = { beginTime: this.times[0], endTime: this.times[1] }; exportFile(params).then( data => { /** 獲取生成設置好的文件名 */ var filename = data.headers["content-disposition"]; filename = filename.split("=")[1]; filename = decodeURIComponent(filename, "utf-8"); /** 接收文件流 */ const blob = new Blob([data.data]); let url = URL.createObjectURL(blob); /** 模擬瀏覽器操作Document,并模擬下載動作 */ let link = document.createElement("a"); link.style.display = "none"; link.href = url; link.setAttribute("download", filename); document.body.appendChild(link); link.click(); }, error => { console.log(error); this.$message.error("下載異常,請稍后再試"); }); }
這樣就可以在vue項目中完整下載Excel接口,當然vue也有生成Excel的插件,接收后臺的json數(shù)據(jù)然后在前端生成并下載。
補充知識:Vue實現(xiàn)通過后端接口導出Excel表格
需求:后端提供下載接口,返回二進制文件流,前端導出為xlsx格式的Excel表格
實現(xiàn):
1、按鈕調用下載接口
2、new Blob導出
PS:
1、第一步請求接口時,注意要設置請求responseType為blob類型,否則下載后,顯示格式錯誤,無法打開
2、new Blob請求是,注意修改type類型為application/vnd.ms-excel
以上這篇vue通過接口直接下載java生成好的Excel表格案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
簡單了解Vue computed屬性及watch區(qū)別
這篇文章主要介紹了通過實例解析Vue computed屬性及watch區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07vue中provide?inject的響應式監(jiān)聽解決方案
這篇文章主要介紹了vue中provide?inject的響應式監(jiān)聽解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04vue3?內容過多出現(xiàn)滾動條時滾動條自動定位到末端的操作代碼
這篇文章主要介紹了vue3?內容過多出現(xiàn)滾動條時滾動條自動定位到末端的操作代碼,本文給大家介紹的非常詳細,需要的朋友參考下吧2024-05-05Element?el-date-picker?日期選擇器的使用
本文主要介紹了Element?el-date-picker?日期選擇器的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04解決vue3+vite配置unplugin-vue-component找不到Vant組件
這篇文章主要為大家介紹了vue3+vite配置unplugin-vue-component找不到Vant組件問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09elementui 日期選擇器el-date-picker如何給指定日期添加圓點標注
這篇文章主要介紹了elementui 日期選擇器el-date-picker如何給指定日期添加圓點標注,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2024-07-07