两种导出excel表格方式

一、使用 FileSaver.js

安装:

npm install file-saver --save

引用:

import FileSaver from 'file-saver'

api文件:
导出文件记得加上 responseType: ‘blob’

import axios from 'axios';
Export: (params) => {
   return axios({
     method:'get',
     url: 'url',
     responseType: 'blob',  // 导出文件记得加上 responseType: 'blob'
     params: params, 
     }).then(res => res.data)
 },

使用:

const getExport = () =>{
    let params = {
        Treeval: Treeval || '',
        operatioType: Type || '',
        startTime: Time ? moment(Time[0]).format('yyyy-MM-DD HH:mm:ss') : '',
        endTime: Time ? moment(Time[1]).format('yyyy-MM-DD HH:mm:ss') : ''
    }
    api.Export(params).then(res => {
    	exports(res)
    })
}

const exports = (res) => {
    let blob = new Blob([res], {
        type: "application/vnd.ms-excel"
    });
    let obj = URL.createObjectURL(blob);
    FileSaver.saveAs(obj, '表格名称');
}

二、使用open打开新的页面,导出文件后返回原页面

const getExport = () =>{
	let params = {
        Treeval: Treeval || '',
        Type: Type || '',
        startTime: Time ? moment(Time[0]).format('yyyy-MM-DD HH:mm:ss') : '',
        endTime: Time ? moment(Time[1]).format('yyyy-MM-DD HH:mm:ss') : ''
    }
    var str = '';
    for (var i in params) {
        str += '&' + i + '=' + params[i];
    }
    str = str.substring(1, str.length)
    window.open('url' + str)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值