当前位置: 首页 > news >正文

vue3 excel 文件导出

//文件导出  在index.ts 中

export function downloadHandle(url: string,params?:object, filename?: string, method: string = 'GET'){

    try {

        downloadLoadingInstance = ElLoading.service({

            text: "正在生成下载数据,请稍候",

            background: "rgba(0, 0, 0, 0.7)",

        });

        return service.get(url, {

            responseType: 'blob',

            params:params?params:''

        }).then(async (resp: any) => {

            // 创建a标签

            const down = document.createElement('a')

            // 文件名没传,则使用时间戳

            if (filename) {

                down.download = filename

            } else {

                const downName = resp.headers['content-disposition'].split('=')[1]

                down.download = decodeURI(downName)

            }

            // 隐藏a标签

            down.style.display = 'none'

            // 创建下载url

            down.href = URL.createObjectURL(

                new Blob([resp.data], {

                    type: resp.data.type

                })

            )

            // 模拟点击下载

            document.body.appendChild(down)

            down.click()

            // 释放URL

            URL.revokeObjectURL(down.href)

            // 下载完成移除

            document.body.removeChild(down)

            downloadLoadingInstance.close();

        }).catch((r: any) => {

            console.error(r);

            ElMessage.error('下载文件出现错误,请联系管理员!');

            downloadLoadingInstance.close();

        });

    } catch (err: any) {

        ElMessage.error(err.message)

    }

}

在页面中 引入

import {downloadHandle} from "../../api/index";

const downloadFun = () => {

    downloadHandle("/bg/customer/accountQuantity/exportExcelTemplate");

};

相关文章:

  • 走进全球LED显示龙头艾比森,深挖逆势增长43%的数智化逻辑
  • 操作系统课程实验1-进程调度模拟实验
  • 初识C++ · 模拟实现string
  • 力扣106. 从中序与后序遍历序列构造二叉树
  • 代码随想录算法训练营第五十三天||1143.最长公共子序列、1035.不相交的线、53. 最大子序和
  • 20240523金融读报:跨境支付规模扩大银行服务科创企业举措
  • 摸鱼大数据——Hive表操作——分区表
  • 618有什么宠物空气净化器推荐?希喂FreAir Lite宠物空气净化器真实体验
  • linux系统部署Oracle11g:netca成功启动后1521端口未能启动问题
  • 论文精读:TASKBENCH: BENCHMARKING LARGE LANGUAGE MODELS FOR TASK AUTOMATION
  • 什么是知识中台?为什么企业需要知识中台?
  • js检验一个字符串是否是正确时间格式的工具方法
  • Linux信号机制与docker应用
  • OrangePi AIpro初识及使用大模型GPT-Neo-1.3B测试
  • 常见排序算法之插入排序
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Golang-长连接-状态推送
  • Iterator 和 for...of 循环
  • javascript面向对象之创建对象
  • mysql innodb 索引使用指南
  • python 装饰器(一)
  • Spring Cloud Feign的两种使用姿势
  • 分享一份非常强势的Android面试题
  • 基于 Babel 的 npm 包最小化设置
  • 计算机在识别图像时“看到”了什么?
  • 马上搞懂 GeoJSON
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端路由实现-history
  • 什么是Javascript函数节流?
  • 实习面试笔记
  • 协程
  • 一些关于Rust在2019年的思考
  • 转载:[译] 内容加速黑科技趣谈
  • 自制字幕遮挡器
  • k8s使用glusterfs实现动态持久化存储
  • 仓管云——企业云erp功能有哪些?
  • 从如何停掉 Promise 链说起
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • #include<初见C语言之指针(5)>
  • #pragma pack(1)
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (55)MOS管专题--->(10)MOS管的封装
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (Git) gitignore基础使用
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (LeetCode) T14. Longest Common Prefix
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (十)Flink Table API 和 SQL 基本概念
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)Neo4j下载安装以及初次使用