vue下载excel
方法一:后台传入
http({
url:'/statistical/exportPerson',
method:'post',
responseType:'blob',
params:{
name:this.name,
idCardNumber:this.idCardNumber,
}
}).then(res => {
const fileName = '名单.xls'
let blob = new Blob([res.data], {
type: "application/octet-stream",
});
if ('download' in document.createElement('a')) {
const link = document.createElement('a')
link.download = fileName
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
document.body.appendChild(link)
link.click() // 执行下载
URL.revokeObjectURL(link.href) // 释放url
document.body.removeChild(link) // 释放标签
} else { // 其他浏览器
navigator.msSaveBlob(blob, fileName)
}
})
方法二:前台做导出
// 引入导出Excel表格依赖
import FileSaver from "file-saver";
import XLSX from "xlsx";
exportExcel () {
var xlsxParam = { raw: true } // 导出的内容只做解析,不进行格式转换,保证时间格式或者较长数字不会出现科学计数法。(这个很关键)
var wb = XLSX.utils.table_to_book(document.querySelector('#exportTab'), xlsxParam)
var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' })
try {
FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), '常见结果表.xlsx')
} catch (e) {
if (typeof console !== 'undefined') {
console.log(e, wbout)
}
}
return wbout
},
方法三:使用file-saver
import { saveAs } from 'file-saver'
request({ url:'project/management/export', method:'post', responseType:'blob', data:{ ...excelData } }).then(res => { console.log(res) const isBlob = blobValidate(res); if (isBlob) { const blob = new Blob([res]) this.$download.saveAs(blob, `projects_${new Date().getTime()}.xlsx`) } else { this.printErrMsg(res); } })
若依框架 导出文件
方法一:this.download("project/management/export", {}, `projects_${new Date().getTime()}.xlsx`);
方法二:以上方法三
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了