excel 下载方法封装

1.首先需要拿到后端返回的URL下载地址

2.写个下载方法

javascript 复制代码
// url 接口返回的下载地址。例如:https://cancer-research.oss-cn-beijing.aliyuncs.com/yuance-platform-permission/校内共享数据导入模板.xlsx
// name 文件名称 例如: 校内共享数据导入模板
// 引入下载方法
import { staticFileDownload } from '@/utils/index'
// 使用下载方法
handleDownloadFile (url, name) {
   staticFileDownload(url, name)
},

// 封装的公共方法
export const staticFileDownload = (href, filename = '文件下载', fileType = 'xlsx') => {
  if (!href) {
    vm.$message.error('未发现文件,请检查')
    return
  }
  var a = document.createElement('a') // 创建一个a标签
  a.href = href // 给a标签的href属性值加上地址,如果是项目本地文件,写绝对路径 例如:/static/模板.xlsx
  a.target = '_self' // 在当前页面打开
  a.download = `${filename}.${fileType}` // 设置下载文件的文件名,这里加上.xlsx指定文件类型,pdf文件就指定.pdf即可
  a.style.display = 'none' // 隐藏a标签
  document.body.appendChild(a) // 将a标签追加到文档对象中
  a.click() // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
  a.remove() // 一次性的,用完就删除a标签
}

// 如果不要求加文字名称,可以用 window.open(url)

相关推荐
Cao_Ron4 分钟前
用 SVG image symbol 画 ECharts graph 圆形节点
前端
hxy06019 分钟前
React-Call让你的React组件像异步函数一样调用
前端·react.js
Hilaku10 分钟前
为什么 AI 写前端时,总是优先选择 React,而不是 Vue?
前端·javascript·程序员
京东云开发者12 分钟前
GPT-5.6、ChatGPT Work 与 Codex 更新食用指南
前端
Cao_Ron23 分钟前
用 ECharts graph 画出卡片式矩形节点
前端
skiyee32 分钟前
换个底座的 Wot Starter 居然让 AI 更懂项目!
前端·ai编程
anyup38 分钟前
这一套绝了!AI 大模型写故事,星云 SDK 驱动 3D 数字人实时演绎
前端·人工智能·aigc
耀耀切克闹灬1 小时前
短链跳转
前端
孟陬1 小时前
高质量全方位的 AI 工具 sse-stuntman — Mock SSE 接口
前端·node.js·openai
Cao_Ron1 小时前
给 ECharts 6 graph 节点叠加角标:从原理到性能优化
前端