react 导出Excel文件

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地址""文件名称")

你可能感兴趣的:(前端,react.js,excel,javascript)