react 导出Excel文件(二进制转换成excel文件)
二进制转换成excel文件。
导出的文件是.xlsx格式。
post请求的方式
import { message } from "antd";
import getToken from "./getToken";
/** 导出数据 post请求 */
function Download(url: string, filename?: any) {
let str= { "condition": {} };
fetch(url, {
method: 'post',
credentials: 'include',
headers: new Headers({
'Content-Type': 'application/json',
Authorization: getToken(),
}),
body: JSON.stringify(str),
}).then(res => res.blob().then(blob => {
console.log(blob);
var a = document.createElement('a');
var url = window.URL.createObjectURL(new Blob([blob], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }));
a.href = url;
a.download = filename;//定义导出的文件名
a.click();
window.URL.revokeObjectURL(url);
})).catch(err =>
message.error("导出失败!" + err))
};
export default Download;
用法
Download("url地址","文件名称")
get请求的方式
import { message } from "antd";
import getToken from "./getToken";
/** 导出数据 get请求 */
function Download(url: string, filename?: any) {
fetch(url, {
method: 'get',
credentials: 'include',
headers: new Headers({
'Content-Type': 'application/json',
Authorization: getToken(),
}),
}).then(res => res.blob().then(blob => {
console.log(blob);
var a = document.createElement('a');
var url = window.URL.createObjectURL(new Blob([blob], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }));
a.href = url;
a.download = filename;//定义导出的文件名
a.click();
window.URL.revokeObjectURL(url);
})).catch(err =>
message.error("导出失败!" + err))
};
export default Download;
用法
Download("url地址","文件名称")