vue通過(guò)接口直接下載java生成好的Excel表格案例
通過(guò)瀏覽器直接訪問(wèn)導(dǎo)出接口就會(huì)自動(dòng)下載創(chuàng)建好的 Excel 表格。但是我們?cè)趘ue里使用axios請(qǐng)求接口,一般是處理json數(shù)據(jù),如果要處理文件流數(shù)據(jù),需要做下特殊處理即可直接下載文件。
假如 下載Excel接口為:/apis/downExcel,則請(qǐng)求如下
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 => {
/** 獲取生成設(shè)置好的文件名 */
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,并模擬下載動(dòng)作 */
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("下載異常,請(qǐng)稍后再試");
});
}
這樣就可以在vue項(xiàng)目中完整下載Excel接口,當(dāng)然vue也有生成Excel的插件,接收后臺(tái)的json數(shù)據(jù)然后在前端生成并下載。
補(bǔ)充知識(shí):Vue實(shí)現(xiàn)通過(guò)后端接口導(dǎo)出Excel表格
需求:后端提供下載接口,返回二進(jìn)制文件流,前端導(dǎo)出為xlsx格式的Excel表格
實(shí)現(xiàn):
1、按鈕調(diào)用下載接口
2、new Blob導(dǎo)出


PS:
1、第一步請(qǐng)求接口時(shí),注意要設(shè)置請(qǐng)求responseType為blob類(lèi)型,否則下載后,顯示格式錯(cuò)誤,無(wú)法打開(kāi)
2、new Blob請(qǐng)求是,注意修改type類(lèi)型為application/vnd.ms-excel


以上這篇vue通過(guò)接口直接下載java生成好的Excel表格案例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- java導(dǎo)出excel 瀏覽器直接下載或者或以文件形式導(dǎo)出
- React獲取Java后臺(tái)文件流并下載Excel文件流程解析
- java動(dòng)態(tài)導(dǎo)出excel壓縮成zip下載的方法
- Java poi導(dǎo)出Excel下載到客戶(hù)端
- Java對(duì)Excel表格的上傳和下載處理方法
- java后臺(tái)利用Apache poi 生成excel文檔提供前臺(tái)下載示例
- JavaWeb導(dǎo)出Excel文件并彈出下載框
- JavaWeb動(dòng)態(tài)導(dǎo)出Excel可彈出下載
- java常用工具類(lèi)之Excel操作類(lèi)及依賴(lài)包下載
- Java從服務(wù)端下載Excel模板文件的兩種方法
相關(guān)文章
簡(jiǎn)單了解Vue computed屬性及watch區(qū)別
這篇文章主要介紹了通過(guò)實(shí)例解析Vue computed屬性及watch區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
vue中provide?inject的響應(yīng)式監(jiān)聽(tīng)解決方案
這篇文章主要介紹了vue中provide?inject的響應(yīng)式監(jiān)聽(tīng)解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
swiper/vue 獲取 swiper實(shí)例方法詳解
在網(wǎng)上搜了一下如何調(diào)用swiper實(shí)例,大部分都是通過(guò) swiperRef = new Swiper(‘.swiper’, options) 這種方法初始化swiper,然后直接能用 swiperRef 實(shí)例,這篇文章主要介紹了swiper/vue 獲取 swiper實(shí)例方法詳解,需要的朋友可以參考下2023-12-12
vue3?內(nèi)容過(guò)多出現(xiàn)滾動(dòng)條時(shí)滾動(dòng)條自動(dòng)定位到末端的操作代碼
這篇文章主要介紹了vue3?內(nèi)容過(guò)多出現(xiàn)滾動(dòng)條時(shí)滾動(dòng)條自動(dòng)定位到末端的操作代碼,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-05-05
Element?el-date-picker?日期選擇器的使用
本文主要介紹了Element?el-date-picker?日期選擇器的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
解決vue3+vite配置unplugin-vue-component找不到Vant組件
這篇文章主要為大家介紹了vue3+vite配置unplugin-vue-component找不到Vant組件問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
elementui 日期選擇器el-date-picker如何給指定日期添加圓點(diǎn)標(biāo)注
這篇文章主要介紹了elementui 日期選擇器el-date-picker如何給指定日期添加圓點(diǎn)標(biāo)注,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07

