vue下载excel乱码
时间: 2023-10-28 20:04:53 浏览: 190
Vue+axios+WebApi+NPOI导出Excel文件实例方法
Vue下载Excel文件出现乱码问题一般是因为Excel文件编码与网页编码不一致导致的。可以尝试以下方法来解决问题:
1. 在后端将Excel文件编码设置为UTF-8,例如PHP中可以使用`header('Content-Type: application/vnd.ms-excel;charset=UTF-8');`来设置。
2. 在前端设置responseType为blob,然后使用FileReader将blob转为字符串,再使用`decodeURIComponent()`方法进行解码,例如:
```
axios({
method: 'GET',
url: 'your_excel_url',
responseType: 'blob'
}).then((response) => {
const reader = new FileReader()
reader.readAsText(response.data, 'GBK') // 将编码设置为Excel文件编码
reader.onload = () => {
const content = reader.result
const decodedContent = decodeURIComponent(escape(content)) // 解码
console.log(decodedContent)
}
})
```
3. 在前端使用第三方库如`xlsx`或`file-saver`来处理Excel文件下载,这些库已经处理了编码问题,可以避免出现乱码问题。
阅读全文