vue Excel导入,下载Excel模板,导出Excel
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的更多相关文章
- 利用phpexcel把excel导入数据库和数据库导出excel实现
<?php ); ini_set(,,,date(,date(,,,date(,,,date(,date(,,,date() ->setCellValue();); $objPHP ...
- .Net NPOI 根据excel模板导出excel、直接生成excel
一.根据Excel模板导出excel 1.导入NPOI.dll 2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...
- 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的路由方案,与原来的方案在使用上差别不 ...
- aspose.cells根据模板导出excel
又隔十多天没写博客了,最近都在忙项目的事情,公司人事变动也比较大,手头上就又多了一个项目.最近做用aspose.cells根据模板导出excel报价单的功能,顺便把相关的核心记下来,先上模板和导出的效 ...
- 按模板导出Excel
说明:开发环境 vs2012 asp.net mvc4 c# 注意:Excel模板有多个sheet页,导出Excel的时候,同时给多个sheet页填充数据 1.项目结构 3.Excel模板(注意she ...
- Java无模板导出Excel,Apache-POI插件实现
开发环境 jdk 1.8 Maven 3.6 Tomcat 8.5 SpringBoot 2.1.4.RELEASE Apache-POI 3.6 Idea 注意: 我是在现有的基于SpringBoo ...
- NPOI复制模板导出Excel
本人菜鸟实习生一枚,公司给我安排了一个excel导出功能.要求如下:1.导出excel文件有样式要求:2.导出excel包含一个或多个工作表:3.功能做活(我的理解就是excel样式以后可能会变方便维 ...
- POI通过模板导出EXCEL文件
一般的EXCEL导出使用POI先创建一个HSSFWorkbook,然后通过不断创建HSSFRow,HSSFCell后设置单元格内容便可以完成导出. 这次在项目中需要用到模板,导出的内容包括(1.模板中 ...
- apache poi根据模板导出excel
需要预先新建编辑好一个excel文件,设置好样式. 编辑好输出的数据,根据excel坐标一一对应. 支持列表数据输出,列表中列合并. 代码如下: package com.icourt.util; im ...
- poi根据excel模板导出Excel
/****单元格值对象**/public class Cells { /*** * 行 */ private int row; /** * 列 */ private int column; /** * ...
随机推荐
- Ansible yaml 剧本(傻瓜式)
优化ansible安装MySQL: Ansible部署MySQL编译安装 - xiao智 - 博客园 (cnblogs.com) Ansible yaml 剧本(傻瓜式): --- - hosts: ...
- 054_末晨曦Vue技术_处理边界情况之组件之间的循环引用
组件之间的循环引用 点击打开视频讲解更详细 假设你需要构建一个文件目录树,像访达或资源管理器那样的.你可能有一个 <tree-folder> 组件,模板是这样的: <p> &l ...
- 简易的AutoPlayCarousel 轮播控件
原理是使用StackPanel 的margin属性的偏移来实现轮播的效果 废话不多说直接上代码 AutoPlayCarousel核心代码 [ContentProperty(nameof(Childre ...
- 基于ASP.NET Core 6.0的整洁架构
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 本节将介绍基于ASP.NET Core的整洁架构的设计理念,同时基于理论落地的代码 ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(16)-Fiddler如何充当第三者,再识AutoResponder标签-上篇
1.简介 Fiddler充当第三者,主要是通过AutoResponder标签在客户端和服务端之间,Fiddler抓包,然后改包,最后发送.AutoResponder这个功能可以算的上是Fiddler最 ...
- 002从零开始入门Entity Framework Core——DbContext生存期、配置和初始化
阅读须知:本文为入门介绍.指引文章,所示代码皆为最简易(或仅为实现功能)的演示示例版本,不一定切实符合个人(企业)实际开发需求. 一.DbContext生存期 DbContext 的生存期从创建实例时 ...
- 【java8新特性】01:函数式编程及Lambda入门
我们首先需要先了解什么是函数式编程.函数式编程是一种结构化编程范式.类似于数学函数.它关注的重点在于数据操作.或者说它所提倡的思想是做什么,而不是如何去做. 自Jdk8中开始.它也支持函数式编程.函数 ...
- Kubernetes实践技巧:升级为集群
高可用 前面我们课程中的集群是单 master 的集群,对于生产环境风险太大了,非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd.kub ...
- mysql ERROR 1396 (HY000): Operation CREATE USER failed 解决办法
原因:MySQL账户表中已经存在这个要创建的用户 操作分析: 当创建新用户时会提示这个新用户创建失败,但是当解决创建失败的问题后再次重新创建这个新用户,则会报这个错误 # 创建新用户,提示root用户 ...
- 在 CentOS 8 上使用 FirewallD 设置防火墙
简介 一个 Linux 防火墙可用于保护您的工作站或服务器免受不需要的流量干扰.您可以设置规则来阻止或允许流量通过.CentOS 8 带有一个动态的.可定制的基于主机的防火墙和一个 D-Bus 接口. ...