vue中导出excel(xlsx)文件

【需求】

1、点击按钮(例如日报生成)实现可以直接下载到本地的excle(xlsx)文件
2、后端接口返回的数据是二进制文件
【实现】

1、调用接口写法,注意responseType要标注为blob

// 首页日报生成
export function getCreateDailyReport(params) {
return request({
url: '/sy/createDailyReport',
method: 'get',
params,
responseType: 'blob'
})
}

2、页面调用的方法, saveAs是引用的 import { saveAs } from 'file-saver'这个插件

// 日报生成
handleReportGenerate() {
const yesterday = moment().subtract(1, 'days').format('YYYY年MM月DD日');
getCreateDailyReport({}).then((res) => {
saveAs(new Blob([res], {
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
}), yesterday +'情况汇总.xlsx');
}).catch(() => {});
},



posted @ 2025-05-22 15:42  慕雪琳鸢  阅读(134)  评论(0)    收藏  举报