a,fetch 标签下载excel文件

博客围绕a和fetch标签展开,主要介绍了利用它们来下载Excel文件的相关内容,属于信息技术中前端开发方面的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  handleExport = () => {
    const { dispatch, form } = this.props;
    const { paginationProps } = this.state;
    let forPage = {
      curPage: 1,
      pageSize: 999999,
    };
    let options = {};
    form.validateFields((err, fieldsValue) => {
      if (err) return;
      options = {
        forPage,
        ...fieldsValue,
        issueBeginDate: fieldsValue.issueDate[0].format('YYYY-MM-DD'),
        issueEndDate: fieldsValue.issueDate[1].format('YYYY-MM-DD'),
      };
      const myRequest = new Request(`${BASE_URL}order/finance/billing/exportBillingListReport`, {
        headers: {
          Authorization: localStorage.getItem('Authorization').replace(/^"|"$/g, ''),
          'Content-Type': 'application/json',
          Accept: 'application/json',
        },
        method: 'POST',
        body: JSON.stringify(options),
      });
      fetch(myRequest)
        .then(response => response.blob())
        .then(blob => {
          madeExcel(blob, '账单');
        });
    });
    function madeExcel(res, excelName) {
      // 这里res是返回的blob对象
      var blob = new Blob([res], {
        type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8',
      }); // application/vnd.openxmlformats-officedocument.spreadsheetml.sheet这里表示xlsx类型
      var downloadElement = document.createElement('a');
      var href = window.URL.createObjectURL(blob); // 创建下载的链接
      downloadElement.href = href;
      downloadElement.download = moment().format('YYYY-MM-DD') + '附件报告' + '.xlsx'; // 下载后文件名
      document.body.appendChild(downloadElement);
      downloadElement.click(); // 点击下载
      document.body.removeChild(downloadElement); // 下载完成移除元素
      window.URL.revokeObjectURL(href); // 释放掉blob对象
    }
  };

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值