export const exportFile = (res: Blob, name: string, type: string, fileType: string = '.csv') => {
const blob = new Blob([res], { type })
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob) // 创建下载的链接
downloadElement.href = href
downloadElement.download = name + fileType // 下载后文件名
document.body.appendChild(downloadElement)
downloadElement.click() // 点击下载
document.body.removeChild(downloadElement) // 下载完成移除元素
window.URL.revokeObjectURL(href)
}
exportFile(
res.data,
titleExport,
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'.xlsx'
)
就可以导出或者下载.csv
、.xls
或.xlsx
下载的文档打不开,无法打开文件的问题处理:
打印请求返回的数据,这个data就是打不开
需要在请求文件的接口上加上这个
responseType: ‘blob’
这样返回的,如图就能正常打开了: