/ 批量导出 **注意: 这里一定要加 responseType: 'blob'**
export function exportAlarm(data) {
return request({
url: '/alarm/bizalarmhandoutrecord/excel',
method: 'get',
params: data,
responseType: 'blob'
})
}
exportAlarm(this.searchForm).then(res => {
//请求后端文件导出的接口
const link = document.createElement('a')
// blob(size,type)// Blob构造函数,接受两个参数。第一个参数是一个包含实际数据的数组,第二个 参数是数据的类型(注:**有的需要res或者res.data看后台返回的实际数据参数了**)
let blob = new Blob([res.data], {type: res.headers['content-type']})
//URL.createObjectURL() 静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的 URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示指定的 File 对象或 Blob 对象。该URL可用于指定源 object(blob)的内容。
link.href = URL.createObjectURL(blob)
const fileName ="导出数据表.xlsx"; //后面必须加后缀,否则文件导出打开会提示文损坏之类
link.download = fileName //下载的文件名 download="filename" 属性规定被下载的超链接目标。filename规定作为文件名来使用的文本。
document.body.appendChild(link)
link.click()
URL.revokeObjectURL(link.href)
document.body.removeChild(link)
this.$message({
message: '导出Excel成功'
});
})
excel文件导出
最新推荐文章于 2024-01-23 02:43:32 发布