news 2026/7/7 17:01:04

vue3将el-table中数据导出为excel表格(数据自调整)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vue3将el-table中数据导出为excel表格(数据自调整)

先下载插件

npm install xlsx --save
<template> <el-table v-loading="loading" element-loading-text="数据加载中..." :data="tableData" class="tabBox-style" > <el-table-column v-for="(item, index) in tabListProp" :key="index" :prop="item.label" :label="item.value" ></el-table-column> <el-table-column label="操作" align="center"> <template #default="scope"> </template> </el-table-column> </el-table> <div class="export" @click="exportTableToExcel"> <img src="@/assets/images/equipmentInfo/export.png" alt="" /> <div>导出数据</div> </div> </template> <script setup> /* element样式 */ import { ElMessage } from "element-plus"; /* excel */ import * as XLSX from "xlsx"; /* 表格Ref引用(用于获取表格DOM) */ const tableRef = ref(null); /* 导出表格数据为Excel */ const exportTableToExcel = () => { if (!tableData.value.length) { ElMessage.warning("暂无数据可导出"); return; } try { // 1. 处理数据:将表格数据转换为Excel所需格式(匹配表头) const exportData = tableData.value.map((row) => { const newRow = {}; tabListProp.value.forEach((item) => { newRow[item.value] = row[item.label] || "-"; // 无数据时显示"-" }); return newRow; }); // 2. 创建工作簿和工作表 const ws = XLSX.utils.json_to_sheet(exportData); // JSON转工作表 const wb = XLSX.utils.book_new(); // 新建工作簿 XLSX.utils.book_append_sheet(wb, ws, "设备数据"); // 将工作表添加到工作簿 // 3. 生成并下载Excel文件 const fileName = `设备数据_${new Date().getTime()}.xlsx`; // 文件名(加时间戳避免重复) XLSX.writeFile(wb, fileName); ElMessage.success("Excel导出成功"); } catch (error) { ElMessage.error("Excel导出失败:" + (error.message || "未知错误")); console.error("导出失败详情:", error); } }; </script>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 8:33:07

centos安装RocketMQ保姆教程

第一步 配置服务器&#xff0c;下载对应的文件&#xff0c;mq自行官网下载&#xff0c;dashboard此处可下载&#xff1a;rocketmqdashboardjar资源-CSDN下载https://download.csdn.net/download/Brevity6/92452166?spm1001.2014.3001.5501 【免费】rocketmq-dashboard1.0.0源…

作者头像 李华
网站建设 2026/7/7 9:42:25

深入解析dd命令:缓存与磁盘速度之谜

深入理解 dd 命令&#xff1a;缓存 vs 实际速度&#xff0c;文件写入 vs 磁盘写入的底层原理 前言 在 Linux 系统性能测试和磁盘基准测试中&#xff0c;dd 命令是最常用的工具之一。然而&#xff0c;很多人在使用 dd 测试磁盘速度时&#xff0c;经常得到不准确的结果&#xff0…

作者头像 李华
网站建设 2026/7/7 18:50:47

AI历史与发展-AI发展的驱动因素和未来展望

第六章&#xff1a;AI发展的驱动因素 6.1 计算能力的提升 摩尔定律&#xff1a; 原始表述&#xff08;1965年&#xff0c;Gordon Moore&#xff09;&#xff1a;集成电路上可容纳的晶体管数量每18-24个月翻一番实际影响&#xff1a;计算能力&#xff08;CPU性能&#xff09;大致…

作者头像 李华
网站建设 2026/7/7 17:23:16

.NET 10中GC(垃圾收集器)默认启用DATAS

1. DATAS&#xff08;Dynamic Adaptation To Application Sizes&#xff09;默认启用&#xff1a;在.NET 9中&#xff0c;DATAS功能已被引入但未默认启用&#xff1b;而在.NET 10中&#xff0c;DATAS将成为默认特性。这对于从旧版本升级到.NET 10的用户来说是一个显著的变化。设…

作者头像 李华
网站建设 2026/7/7 12:05:56

Jaro相似度算法解析:原理、步骤与公式详解

Jaro相似度算法是一种评估两个字符串相似程度的有效方法&#xff0c;尤其适用于短字符串&#xff08;如人名、地址等&#xff09;的匹配 。它通过计算匹配字符的数量、匹配字符的位置差异以及字符顺序的一致性来综合评估两个字符串的相似度。这种算法的核心优势在于它不仅考虑字…

作者头像 李华
网站建设 2026/7/7 7:57:54

84、深入探索 Linux 系统:网络安全、服务管理与系统运维全解析

深入探索 Linux 系统:网络安全、服务管理与系统运维全解析 1. Linux 网络安全基础工具与操作 在 Linux 系统中,保障网络安全是至关重要的。首先,我们可以使用 Network Mapper(nmap) 来扫描网络。安装 nmap 的方法因系统而异: - 在 Fedora 或 RHEL 系统上,在命令行输入…

作者头像 李华