vue  Excel导入,下载Excel模板,导出Excel

vue  Excel导入,下载Excel模板

<template>
<div style="display: flex;">
<el-button
@click="handleDownload"
class="button_search"
type="primary"
size="medium" >下载模板</el-button>
<el-upload
style="display: inline-block"
:action="uploadUrl_file"
name="file"
:headers="{ 'x-token': token }"
:file-list="exportfileList"
:on-success="handleFileSuccess"
:on-error="handleFileError"
:show-file-list="true">
<el-button
class="button_search"
type="primary"
size="medium"
>导入</el-button>
</el-upload>
</div>
</template> <script>
const rootpath = process.env.VUE_APP_BASE_API;
import { getToken } from "@/utils/auth";
var busiContractorImport = "/business/fourth/excel/import.do"; //导入接口
export default {
name: 'importExcel',
data(){
return{
uploadUrl_file:'',
token: getToken() ,
exportfileList: [],
showShade:false
}
},
mounted() {
let vm = this;
vm.uploadUrl_file = rootpath + busiContractorImport +"?excelHandler=dictCheckContentByMyselfImportHandler"; //上传地址
},
methods:{
// 下载模板
handleDownload() {
     // 把模板放在 : public/excel/隐患排查自建自建隐患库
window.open("excel/隐患排查自建隐患库.xlsx");
},
// 导入
handleFileError(result, file, exportfileList) {
this.$notify.error("导入失败,错误:" + result);
this.showShade = false;
this.exportfileList = [];
},
handleFileSuccess(result, file, exportfileList) {
var that = this;
var code = result.code;
if (code === "0") {
that.$notify({
title: "成功",
message: "导入成功",
type: "success",
duration: 2000
});
that.$emit("importExcel")
} else {
that.$notify.error({
title: "导入失败",
message: result.msg,
duration: 2000
});
}
that.showShade = false;
that.exportfileList = [];
},
}
};
</script> <style scoped> </style>

导出Excel

第一步,创建文件:  exportData.js

import request from '@/utils/request'
import { getToken } from "@/utils/auth"; //列表导出
export function exportsData(params,url,fileName) {
return request({
url: url,
method: "get",
params,
responseType: "blob",
headers: { "x-token": getToken() }
}).then((result) => {
const excelBlob = result;
const elink = document.createElement("a"); // 创建a标签
elink.download = fileName;
elink.style.display = "none";
const blob = new Blob([excelBlob]);
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
document.body.removeChild(elink);
});
}

第二步,添加事件

<el-button
@click="exportBtn"
class="button_search"
size="medium"
type="primary"
>导出</el-button>

import { exportsData } from "@/api/exportData"; //引入接口

//导出数据
exportBtn(){
  let that = this;
  var date = new Date();
  let listQuery = { 接口需要的参数
    date:date.getTime(),
    current:that.listQuery.current,
    size:that.listQuery.size,
    sord:'asc'
  }
  exportsData(listQuery,"/business/fourth/basicList/scqy/export.do","仓库清点.xlsx")
},



vue Excel导入,下载Excel模板,导出Excel的更多相关文章

  1. 利用phpexcel把excel导入数据库和数据库导出excel实现

    <?php ); ini_set(,,,date(,date(,,,date(,,,date(,date(,,,date()     ->setCellValue();); $objPHP ...

  2. .Net NPOI 根据excel模板导出excel、直接生成excel

    一.根据Excel模板导出excel 1.导入NPOI.dll  2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...

  3. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  4. aspose.cells根据模板导出excel

    又隔十多天没写博客了,最近都在忙项目的事情,公司人事变动也比较大,手头上就又多了一个项目.最近做用aspose.cells根据模板导出excel报价单的功能,顺便把相关的核心记下来,先上模板和导出的效 ...

  5. 按模板导出Excel

    说明:开发环境 vs2012 asp.net mvc4 c# 注意:Excel模板有多个sheet页,导出Excel的时候,同时给多个sheet页填充数据 1.项目结构 3.Excel模板(注意she ...

  6. Java无模板导出Excel,Apache-POI插件实现

    开发环境 jdk 1.8 Maven 3.6 Tomcat 8.5 SpringBoot 2.1.4.RELEASE Apache-POI 3.6 Idea 注意: 我是在现有的基于SpringBoo ...

  7. NPOI复制模板导出Excel

    本人菜鸟实习生一枚,公司给我安排了一个excel导出功能.要求如下:1.导出excel文件有样式要求:2.导出excel包含一个或多个工作表:3.功能做活(我的理解就是excel样式以后可能会变方便维 ...

  8. POI通过模板导出EXCEL文件

    一般的EXCEL导出使用POI先创建一个HSSFWorkbook,然后通过不断创建HSSFRow,HSSFCell后设置单元格内容便可以完成导出. 这次在项目中需要用到模板,导出的内容包括(1.模板中 ...

  9. apache poi根据模板导出excel

    需要预先新建编辑好一个excel文件,设置好样式. 编辑好输出的数据,根据excel坐标一一对应. 支持列表数据输出,列表中列合并. 代码如下: package com.icourt.util; im ...

  10. poi根据excel模板导出Excel

    /****单元格值对象**/public class Cells { /*** * 行 */ private int row; /** * 列 */ private int column; /** * ...

随机推荐

  1. Blazor预研与实战

    背景 最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内.前期做了一些调研,包括但不限于 Blazor知识学习 组件库生态预研 与现有SPA框架做比对 与WebForm做 ...

  2. virsh edit 很慢 的bug

    创建虚拟机,发现virsh edit很慢. strace的结果: 09:26:03 close(10) = -1 EBADF (Bad file descriptor)09:26:03 close(1 ...

  3. 如何保证遍历parent的时候的task的存在性

    在一次crash的排查过程中,有这么一个内核模块,他需要往上遍历父进程, 但是在拿父进程task_struct中的一个成员的时候,发现为NULL了, 具体查看父进程,原来它收到信号退出中. 那么怎么保 ...

  4. CSP2021-S游记

    前言 年纪大了,脑子乱了,渐渐被低年级吊打了. 大家这么内卷下去,高年级的普遍后悔自己生早了,低年级永远占优势,不只是机会优势,还有能力优势. 快进到改变基因出生国家队算了-- Day0 非常不幸地被 ...

  5. CF1167F Scalar Queries (线段树/树状数组)

    题意 题解 对于[l,r]中的一个数,不论[l,r]有多大,只有比它小的数可以影响到它的排名,那么就可以把ai从小到大排序,一个一个加入线段树中,线段树中下表为 i 的是ai(原来的位置,不是排序后的 ...

  6. Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。

    系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...

  7. VS Code中Markdown常用插件

    目录 目录 1.Markdown All in One 2.Markdown Preview Enhanced 3.markdownlint 1.Markdown All in One 自动生成目录 ...

  8. PHP8中match新语句的操作方法

    PHP8 新出的一个语法很好用,就是 match 语句.match 语句跟原来的 switch 类似,不过比 switch 更加的严格和方便 原来的 switch 语句代码如下: 1 function ...

  9. JAVA中容器设计的进化史:从白盒到黑盒,再到跻身为设计模式之一的迭代器

    大家好,又见面了. 在我们的项目编码中,不可避免的会用到一些容器类,我们可以直接使用List.Map.Set.Array等类型.当然,为了体现业务层面的含义,我们也会根据实际需要自行封装一些专门的Be ...

  10. 2.云原生之Docker容器环境安装实践

    转载自:https://www.bilibili.com/read/cv15181036/?from=readlist 官方一键安装脚本 补充时间:[2020年4月22日 11:00:59] 一键安装 ...