(vue)前端下载本地excel文件

(vue)前端下载本地excel文件


  • 已实现

先将文件放入public文件夹下的excel文件夹

html

bash 复制代码
div class="download-btn">
    <el-button 
        type="primary" 
        icon="el-icon-download"
        @click="downloadFile"
        :loading="downloading">
        {{ downloading ? '下载中...' : '下载模板' }}
    </el-button>
    <div class="progress-bar" :style="{width: progress + '%'}"></div>
</div>

<div class="download-complete" :style="{display: downloadComplete ? 'block' : 'none'}">
    <i class="el-icon-success"></i> 下载完成!
</div>

js

bash 复制代码
data: {
    downloading: false,
    progress: 0,
    downloadComplete: false
},
methods: {
    downloadFile() {
        this.downloading = true;
        this.progress = 0;
        this.downloadComplete = false;
        
        // 模拟下载进度
        const interval = setInterval(() => {
            this.progress += 10;
            if (this.progress >= 100) {
                clearInterval(interval);
                this.downloading = false;
                this.downloadComplete = true;
                
                // 实际下载文件
                const link = document.createElement('a');
                link.href = '/excel/信息导入模板.xlsx';
                link.download = '信息导入模板.xlsx';
                link.click();
                
                // 3秒后隐藏完成提示
                setTimeout(() => {
                    this.downloadComplete = false;
                }, 3000);
            }
        }, 200);
    }
}
相关推荐
liangshanbo12157 小时前
写好 React useEffect 的终极指南
前端·javascript·react.js
哆啦A梦15889 小时前
搜索页面布局
前端·vue.js·node.js
_院长大人_10 小时前
el-table-column show-overflow-tooltip 只能显示纯文本,无法渲染 <p> 标签
前端·javascript·vue.js
SevgiliD10 小时前
el-table中控制单列内容多行超出省略及tooltip
javascript·vue.js·elementui
哆啦A梦158811 小时前
axios 的二次封装
前端·vue.js·node.js
阿珊和她的猫11 小时前
深入理解与手写发布订阅模式
开发语言·前端·javascript·vue.js·ecmascript·状态模式
yinuo11 小时前
一行 CSS 就能搞定!用 writing-mode 轻松实现文字竖排
前端
snow@li12 小时前
html5:拖放 / demo / 拖放事件(Drag Events)/ DataTransfer 对象方法
前端·html·拖放
爱看书的小沐12 小时前
【小沐杂货铺】基于Three.js渲染三维风力发电机(WebGL、vue、react、WindTurbine)
javascript·vue.js·webgl·three.js·opengl·风力发电机·windturbine