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. 「vijos-bashu」lxhgww的奇思妙想(长链剖分)

    倍增离线,预处理出爹和孙子们.查询\(O(1)\) #include <cstdio> #include <cstring> #include <numeric> ...

  2. Docker 04 容器命令

    参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...

  3. 除了Synchronized关键字还有什么可以保证线程安全?

    除了Synchronized关键字还有什么可以保证线程安全?     日常使用Java开发时,多线程开发,一般就用Synchronized保证线程安全,防止并发出现的错误和异常,那么 除了Synchr ...

  4. 在 Linux 中安装 MongoDB 的流程

    下载 MongoDB官网下载社区版的安装包: 解压 上传至 Linux,安装位置自行选择.把压缩包解压到安装的目录下. 可重命名解压的文件夹名: mv mongodb-linux-x86_64-rhe ...

  5. java中String使用+

    String str1 = "hello"; String str2 = "hel" + new String("lo"); String ...

  6. 完全解析Array.apply(null, { length: 1000 })

    Array.apply(null, { length: 1000 }) 点击打开视频讲解更加详细 在阅读VueJS教程时有这么段demo code: render: function (createE ...

  7. KingbaseES 实现MYSQL hex/unhex 函数

    MySQL 的hex 和 unhex 函数类似于KingbaseES 的encode 和 decoding,实现字符与16进制之间的转换. 一.先看MySQL例子 mysql> select h ...

  8. KingbaseES V8R6 vacuum index_cleanup 选项

    描述: 由于索引页的复用不像HEAP TABLE的PAGE复用机制那么简单只要有空闲空间就可以插入.索引页的空闲空间被复用,必须是PAGE的边界内的值才允许插入. 因此索引一旦膨胀,很难收缩,常用的方 ...

  9. 【读书笔记】C#高级编程 第十章 集合

    (一)概述 数组的大小是固定的.如果元素个数是动态的,就应使用集合类. List<T>是与数组相当的集合类.还有其它类型的集合:队列.栈.链表.字典和集. (二)列表 1.创建列表 调用默 ...

  10. Thrift RPC改进—更加准确的超时管理

    前言: 之前我们组内部使用Thrift搭建了一个小型的RPC框架,具体的实现细节可以参考我之前的一篇技术文章:https://www.cnblogs.com/kaiblog/p/9507642.htm ...