axios下載Excel

在vue文件中

import axios from "axios";

methods: {
	// 獲取excel文件流
	getExcel(){
		axios({
			headers: {
				"Content-disposition": "attachment; filename=rzjl.xls",
				"Content-Type": "application / msexcel",
			},
			responseType: "blob"
			method: "get",
			url: '請求地址',
			params: {
				// 請求參數
				'key':'value'
			},
		}).then(res => {
			if (res && res.data != null) {
				let data = res.data;
				
				this.download(data, Date.parse(new Date()))
			}
		});
	},
	// 下載Excel
	// data:文件流
	// name:excel名稱
	download(data, name) {
		if (!data) {
			return
		}
		var blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8' })
		var url = window.URL.createObjectURL(blob);
		var aLink = document.createElement("a");
		aLink.style.display = "none";
		aLink.href = url;
		aLink.setAttribute("download", name + ".xls");
		document.body.appendChild(aLink);
		aLink.click();
		document.body.removeChild(aLink); //下載完成移除元素
		window.URL.revokeObjectURL(url); //釋放掉blob對象
	},
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章