table 表格转成 excell 导出

embedded/2024/12/26 18:43:29/

OK,功能非常简单,但是很实用啊!

依赖安装

这里我们需要安装两个依赖: xlsxfile-saver,就可以帮助我们实现功能了!

 npm i xlsx file-saver

代码参考

导出方法
utils/index.js

import * as XLSX from 'xlsx'
import FileSaver from 'file-saver'export const exportExcel = (el, name) => {// 根据 table 生成一个工作表const worksheet = XLSX.utils.table_to_sheet(el)// 创建一个空工作簿const workbook = XLSX.utils.book_new()// 将工作表附加到工作簿XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1', true)// 写入工作簿并返回文件   bookType(导出文件的文件格式)  type (返回值类型)const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' })const data = new Blob([excelBuffer], { type: 'application/octet-stream' })FileSaver.saveAs(data, name + '.xlsx')
}

注意:
以下是低版本导入方法,最新版本获取 XLSXundefined,建议统一按上述导入。

import XLSX from 'xlsx'

index.vue

<template><div class="table"><el-table ref="elTab"></el-table></div>
</template><script>
import { exportExcel } from "@utils/index.js"
export default {methods: {export() {exportExcel(this.refs.elTab.$el, "xxx");},}
}
</script>

效果展示

el-table 表格
在这里插入图片描述
excell 表格

在这里插入图片描述

题外话

在这里做一个提醒!!!

如果你用了 Element 的 table 组件,并且做了某一列固定,那么这时候导出会出现一个数据重复bug:导出的 excell 中包含重复的表格数据

正常表格是行排列组成的表格,而使用了 fixed 属性的表格,里面多了列排列组成的表格,就相当于一个 table 中包含了两组表格数据,所以导出就会出现两组相同的数据。

解决:

export() {// 手动获取其中一组表格数据		el-table__fixed 是列组合数据let el = document.querySelector(".el-table__fixed")exportExcel(el, "xxx");
},

http://www.ppmy.cn/embedded/148966.html

相关文章

《诛仙世界》游戏运行时弹出“xinput1_3.dll文件缺失”错误:问题解析与解决策略

《诛仙世界》游戏运行时弹出“xinput1_3.dll文件缺失”错误&#xff1a;问题解析与解决策略 作为软件开发领域的一名从业者&#xff0c;我深知电脑游戏运行过程中可能遇到的各种挑战&#xff0c;尤其是文件丢失、文件损坏以及系统报错等问题。今天&#xff0c;我将聚焦于《诛仙…

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书正式赛题

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项任务书-A 目录 一、竞赛阶段 二、竞赛任务书内容 &#xff08;一&#xff09;拓扑图 &#xff08;二&#xff09;模块A 基础设施设置与安全加固(200分) &#xff08;三&#xff09;B模块安全事件响应/网络安全数据取证/…

论 ONLYOFFICE:开源办公套件的深度探索

公主请阅 引言第一部分&#xff1a;ONLYOFFICE 的历史背景1.1 开源软件的崛起1.2 ONLYOFFICE 的发展历程 第二部分&#xff1a;ONLYOFFICE 的核心功能2.1 文档处理2.2 电子表格2.3 演示文稿 第三部分&#xff1a;技术架构与兼容性3.1 技术架构3.2 兼容性 第四部分&#xff1a;部…

嵌入式学习-QT-Day08

嵌入式学习-QT-Day08 八、数据库 1、准备工作 2、连接数据库 3、创建表 4、增删改 5、查询 5.1 全查 5.2 模糊查询 八、数据库 1、准备工作 Qt本身并没有数据库的功能&#xff0c;但是Qt支持调用其他主流的数据库产品&#xff0c;并且这些数据库产品指定了统一的Qt接口&#xf…

最新版本 - 二进制安装k8s1.29.2 集群

一、环境初始化 角色IPmaster01192.168.174.143master02192.168.174.144master03192.168.174.145node01192.168.174.146node02192.168.174.147 角色组件masternginx、APIServer、Schedule、Controllermanager、kubelet、kube-proxy、ETCDnodenginx、kubelet、kube-proxy 作者…

kkfileview代理配置,Vue对接kkfileview实现图片word、excel、pdf预览

kkfileview部署 官网&#xff1a;https://kkfileview.keking.cn/zh-cn/docs/production.html 这个是官网部署网址&#xff0c;这里推荐大家使用docker镜像部署&#xff0c;因为我是直接找运维部署的&#xff0c;所以这里我就不多说明了&#xff0c;主要说下nginx代理配置&am…

WPF的右键菜单项目引入DLL和DllImport特性引入DLL文件的异同点

在WPF&#xff08;Windows Presentation Foundation&#xff09;应用程序中&#xff0c;引用DLL&#xff08;Dynamic Link Library&#xff09;可以通过不同的方式实现&#xff0c;其中包括使用右键菜单添加引用和使用代码中的 DllImport 特性引入。 第一种&#xff1a;右键项…

【落羽的落羽 C语言篇】动态内存管理·上

文章目录 一、动态内存管理是什么二、动态内存管理相关函数1. malloc2. free3. calloc4. realloc 三、柔性数组1. 概念2. 使用 一、动态内存管理是什么 我们之前已经知道&#xff0c;定义变量就是申请一块空间&#xff0c;int a;就是申请四个字节的空间&#xff0c;char arr[2…