为什么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, params, config) .then(res => { resolve(res); }) .catch(err => { reject(err); }); }); }

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

导出接口:​​

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) }) }

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页