前端导出(下载)

import { BASE_URL } from '@/config'  //基本路径(根据项目封装情况决定)
import axios from 'axios'
import store from '@/store'
import router from '@/router'

/* 导出(POST)
   url:接口地址
   data:参数
   name:导出表格名称.xls
*/
export const exportExcelPost = (url, data, name) => {
  try {
    axios({
      method: 'post',
      url: `${BASE_URL}${url}`,
      timeout: 3 * 1000 * 60,
      headers: {
        userToken: store.getters.token,
        userId: store.getters.id,
        referers: router.app._route.meta.role
      },
      responseType: 'blob',
      data
    }).then(result => {
      const link = document.createElement('a')
      let blob = new Blob([result.data], {
        type: 'application/octet-stream'
      })
      link.style.display = 'none'
      link.href = URL.createObjectURL(blob)
      link.download = `${name}`
      document.body.appendChild(link)
      link.click()
      document.body.removeChild(link)
    })
  } catch (error) {
    console.log(error)
  }
}

 ps:调用后端接口即可,uri:接口地址;data:参数;name:导出文件名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端导出Excel下载可以通过以下步骤实现。首先,你需要准备一个Excel模板,可以使用HTML表格来创建模板。在模板中,你可以使用表格标签来定义Excel的结构和内容。\[1\]然后,在封装请求时,需要设置responseType为"blob",以确保返回的数据类型是二进制流。\[2\]接下来,你可以使用JavaScript来触发导出操作。可以在按钮的点击事件中调用一个函数,该函数将表格数据转换为Excel格式并触发下载操作。\[3\]在这个函数中,你可以使用JSON数据来填充Excel表格的内容。最后,将生成的Excel文件提供给用户进行下载。 #### 引用[.reference_title] - *1* *3* [前后端导出/下载excel方法](https://blog.csdn.net/snsHL9db69ccu1aIKl9r/article/details/93377280)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [前端实现导出下载excel文件(Blob数据类型)](https://blog.csdn.net/G_ing/article/details/128170853)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值