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

vue + el-table 表格数据导出为excel表格

  1. 下载依赖
npm install --save xlsx file-saver
  1. 引入插件
import * as XLSX from 'xlsx';
import FileSaver from "file-saver";
  1. 完整代码
<template><div class="administrativeCase-container"><div class="content-box"><div class="box-btn"><div class="btn"><div><el-button type="primary">导入</el-button><el-button @click="exportExcel()">导出</el-button></div></div></div><div class="box-content"><el-table:data="tableData"id="tableId"style="width: 100%"><el-table-columnprop="date"label="日期"fixedwidth="180"></el-table-column><el-table-columnprop="name"label="姓名"fixedwidth="180"></el-table-column><el-table-columnprop="address"label="地址"></el-table-column><el-table-columnprop="date"label="日期"width="180"></el-table-column><el-table-columnprop="name"label="姓名"width="180"></el-table-column><el-table-columnprop="address"label="地址"></el-table-column><el-table-columnprop="date"label="日期"width="180"></el-table-column><el-table-columnprop="name"label="姓名"width="180"></el-table-column><el-table-columnprop="address"label="地址"></el-table-column></el-table></div></div></div>
</template><script>import FileSaver from "file-saver";import * as XLSX from "xlsx";export default {data () {return {tableData: [{date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'}, {date: '2016-05-04',name: '王小虎',address: '上海市普陀区金沙江路 1517 弄'}, {date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'}, {date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'}],}},methods:{// 导出exportExcel() {//转换成excel时,使用原始的格式var xlsxParam = { raw: true };let fix = document.querySelector(".el-table__fixed");let wb;//判断有无fixed定位,如果有的话去掉,后面再加上,不然数据会重复if (fix) {wb = XLSX.utils.table_to_book(document.querySelector("#tableId").removeChild(fix),xlsxParam);document.querySelector("#tableId").appendChild(fix);} else {wb = XLSX.utils.table_to_book(document.querySelector("#tableId"),xlsxParam);}var wbout = XLSX.write(wb, {bookType: "xlsx",bookSST: true,type: "array",});try {FileSaver.saveAs(new Blob([wbout], { type: "application/octet-stream" }),"导出详情单.xlsx"); //文件名} catch (e) {if (typeof console !== "undefined") console.log(e, wbout);}return wbout;},}}
</script><style></style>
http://www.lryc.cn/news/125858.html

相关文章:

  • ClickHouse(二十):Clickhouse SQL DDL操作-2-分区表DDL操作
  • Springboot 在 redis 中使用 Guava 布隆过滤器机制
  • Docker本地镜像发布到阿里云
  • Postgresql源码(112)plpgsql执行sql时变量何时替换为值
  • OhemCrossEntropyLoss
  • prometheusalert区分告警到不同钉钉群
  • AUTOSAR规范与ECU软件开发(实践篇)3.2 ETAS AUTOSAR系统解决方案介绍(上)
  • 【leetcode】第三章 哈希表part02
  • 【C语言】memset()函数
  • C++中重载(overload)、重写(override,也叫做“覆盖”)和重定义(redefine,也叫作“隐藏”)的区别?
  • 将非受信数据作为参数传入,可能引起xml 注入,引起数据覆盖,这个问题咋解决
  • 设计模式-简单工厂模式
  • Maven框架SpringBootWeb简单入门
  • 关于2023年8月19日PMP认证考试准考信下载通知
  • html实现iphone同款开关
  • 使用Vue和jsmind如何实现思维导图的历史版本控制和撤销/重做功能?
  • 【Vue-Router】路由元信息
  • vue 控件的四个角设置 父视图position:relative
  • VM中linux虚拟机配置桥接模式(虚拟机与宿主机网络互通)
  • 7.Eclipse中改变编码方式及解决部分乱码问题
  • grafana 的 ws websocket 连接不上的解决方式
  • 多环境_部署项目
  • go web框架 gin-gonic源码解读02————router
  • 【Java后端封装数据】常见后端封装数据的格式,用于返回给前端使用(109)
  • 无脑入门pytorch系列(三)—— nn.Linear
  • SQL Server用sql语句添加列,添加列注释
  • springBoot中service层查询使用多线程CompletableFuture(有返回值)
  • 畜牧虚拟仿真 | 鱼授精过程VR模拟演练系统
  • 第一百一十四回 局部动态列表
  • 多尺度目标检测【动手学深度学习】