微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

文件流导出为excel无法打开的问题(为什么无法导出excel)

文件流导出为excel无法打开的问题(为什么无法导出excel)

responseType: "arraybuffer" 是关键

export function filePost(url,params,config) {

let userAuth = JSON.parse(sessionStorage.getItem("userAuth"));

return new Promise((resolve,reject) => {

axios.create({

baseURL: baseUrl,

timeout: 15000,

headers: {

"Content-Type": "application/json-patch+json",

"Authorization": userAuth.token_type + " " + userAuth.access_token,

},

responseType: "arraybuffer" //必须设置,不然导出的文件无法打开

})

.post(url,config)

.then(res => {

resolve(res);

})

.catch(err => {

reject(err);

});

});

}

导出接口:​​

const exportExl = () => {

store

.exportExl({

shop: 'shopNumber,shopName,road,shopAddress',

shopNumber: 'S000075,S000002,S000077',

})

.then((res) => {

const blob = new Blob([res],{

type: 'application/vnd.ms-excel;charset=utf-8',

})

const fileName = '部队信息.xlsx'

const elink = document.createElement('a')

elink.download = fileName

elink.style.display = 'none'

elink.href = URL.createObjectURL(blob)

document.body.appendChild(elink)

elink.click()

URL.revokeObjectURL(elink.href) // 释放URL 对象

document.body.removeChild(elink)

})

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐