今天做一个导出excel的功能,导出文件显示乱码,分析接口无问题,后修改如下:
1.接口的response类型:类型设置为blob
// 导出信息
export const exportInfo = (data: any, config = { timeout: 6000, responseType: "blob" }) => {
return http.post(`xxx`, data, config);
};
-
下载处理,设置文件类型:
let url = window.URL.createObjectURL(new Blob([res],{type:"application/vnd.ms-excel;charset=UTF-8"}));
let link = document.createElement('a');
link.style.display = 'none';
link.href = url;
link.setAttribute('download', fileName+suffix);
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
文件类型设置为:application/vnd.ms-excel;charset=UTF-8。
通过以上 操作基本可以解决中文乱码的问题。