文件流导出为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)

})

}

相关文章

TPLink路由器是一款功能强大的网络设备,但在使用过程中,我...
TL-WR880N是一款常见的家用路由器,但在使用过程中可能会遇到...
TP-LinkAC1900路由器是一款高性能的无线路由器,它可以支持多...
在家庭或办公室网络中,路由器是连接设备和互联网之间的关键...
TP-Link路由器的网站是tplogin.cn或者192.168.0.1也可以登入...
随着互联网的飞速发展,家庭网络环境越来越重要。路由器是组...