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

使用vue3框架vue-next-admin导出列表数据

在 Vue3 中实现 Excel 导出功能可以通过以下步骤完成,这里使用 xlsx 库来实现前端 Excel 导出:
1. 安装依赖

npm install xlsx file-saver
# 或
yarn add xlsx file-saver

2. 实现代码示例
需要在当前页引入

import * as XLSX from "xlsx";


注释:我导出的数据为列表的全部数据(datum);
自定义我需要的表头,大家可以根据自己的需要进行替换。
还可以只导出当前页的数据,可以根据分页进行数据划分。
这个方法图片导出是url的路径,不是当前的图片。

<template><button @click="exportToExcel">导出 Excel</button>
</template>
// 导出
import * as XLSX from "xlsx";
// 导出框显示
const datum = ref([]);
// 导出全部数据的函数
// 导出全部数据的函数
const exportBtn = () => {// 获取全部的数据const currentPageData = datum.value;// 处理表格中的格式化内容const exportData = currentPageData.map((row, index) => ({序号: (currentPage4.value - 1) * pageSize4.value + index + 1, // 序号公司名称: row.title, // 公司名称商家门头照: row.img, // 商家门头照(直接导出图片URL)手续费: row.proce_money,手续费比例: row.procedure_ratio,分账金额: row.split_money,分账比例: row.then_ratio,应得: row.must_money,银行卡号: row.card, // 银行卡号价格: row.money, // 价格状态: row.state === 0 ? "未分账" : row.state === 1 ? "已分账" : "未知类型", // 类型创建时间: row.create_time, // 创建时间}));// 定义表头const headers = ["序号","公司名称","商家门头照","手续费","手续费比例","分账金额","分账比例","应得","银行卡号","价格","状态","创建时间",];// 创建工作簿const wb = XLSX.utils.book_new();// 将数据和表头转换为工作表const ws = XLSX.utils.json_to_sheet(exportData, { header: headers });// 计算每列的最大宽度const maxwidth = function (sheet, idx) {let max = 0;const range = sheet["!ref"];if (range) {const rowCount = parseInt(range.split(":")[1].replace(/[A-Za-z]/g, ""));for (let row = 0; row <= rowCount; ++row) {const cell_ref = XLSX.utils.encode_cell({ c: idx, r: row });const cell = sheet[cell_ref];if (cell && cell.v) {max = Math.max(max, String(cell.v).length);}}}return max;};// 定义列宽数组const wscols = [];headers.forEach((header, idx) => {wscols.push({ wch: maxwidth(ws, idx) + 2 }); // 给列宽加点余量});// 设置工作表的列宽ws["!cols"] = wscols;// 将工作表添加到工作簿XLSX.utils.book_append_sheet(wb, ws, "分账数据");// 导出 Excel 文件XLSX.writeFile(wb, "分账数据.xlsx");// 显示成功消息ElMessage({type: "success",message: "全部导出成功",});
};

 3. 关键代码解释
 

数据转换
utils.json_to_sheet(data) 将 JSON 数据转换为 Excel 工作表格式。

工作簿操作

utils.book_new() 创建新工作簿。
utils.book_append_sheet(workbook, worksheet, 'Sheet1') 将工作表添加到工作簿。
文件导出

writeFile(workbook, filename) 是 xlsx 提供的一键导出方法。
如果需要更精细控制(如自定义 Blob),可以使用 write 方法生成二进制数据,再结合 file-saver 保存。

相关文章:

使用vue3框架vue-next-admin导出列表数据

在 Vue3 中实现 Excel 导出功能可以通过以下步骤完成&#xff0c;这里使用 xlsx 库来实现前端 Excel 导出&#xff1a; 1. 安装依赖 npm install xlsx file-saver # 或 yarn add xlsx file-saver2. 实现代码示例 需要在当前页引入 import * as XLSX from "xlsx";注…...

机器学习(1)安装Pytorch

1.安装命令 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 2.安装过程Log&#xff1a; Looking in indexes: https://download.pytorch.org/whl/cu118 Co…...

讯方·智汇云校华为官方授权培训机构

1.官方授权 讯方智汇云校是华为领先级授权培训机构&#xff08;华为授权培训合作伙伴&#xff08;HALP&#xff09;体系&#xff0c;分为认证、优选、领先三个等级&#xff0c;领先级是HALP最高级&#xff09;&#xff0c;代表着华为对培训合作伙伴在专业能力、师资队伍、合作…...

彻底理解零拷贝技术,zero-copy

计算机处理的任务大体可以分为两类&#xff1a;CPU密集型与IO密集型。当前流行的互联网应用更多的属于IO密集型&#xff0c;传统的IO标准接口都是基于数据拷贝的&#xff0c;这篇文章我们主要关注该怎样从数据拷贝的角度来优化IO性能&#xff0c;让你的程序在IO性能方面赶超P8。…...

使用 MySQL 从 JSON 字符串提取数据

使用 MySQL 从 JSON 字符串提取数据 在现代数据库管理中&#xff0c;JSON 格式因其灵活性而广泛使用。然而&#xff0c;当数据存储在 JSON 中时&#xff0c;我们经常需要将其转换为更易于处理的格式。本篇文章将通过一个具体的 SQL 查询示例&#xff0c;展示如何从存储在 MySQ…...

矛盾(WEB)

##解题思路 打开靶场就是一段自相矛盾的代码&#xff0c;既要num是数字类型&#xff0c;又要判断为1 这种情况我们会想到弱类型的编程语言&#xff0c;插件查看过后&#xff0c;php就是弱类型的语言&#xff0c;此处并非是严格相等&#xff0c;只是 因此可以根据弱类型编程语言…...

优先队列(典型算法思想)—— OJ例题算法解析思路

目录 一、1046. 最后一块石头的重量 - 力扣&#xff08;LeetCode&#xff09; 算法代码&#xff1a; 代码思路 使用优先队列&#xff08;大根堆&#xff09; 将所有石头放入堆中 模拟碰撞过程 返回最后的重量 代码解析 时间复杂度 示例 输入 输出 二、703. 数据流…...

IGBT的损耗性分析

铝合金外壳设计器地址:嘉立创铝合金外壳/壳体/盒型-让您的产品更出彩 IGBT和MOS的损耗谁大: 电子元器件常见失效模式: 电子元器件的失效模式多种多样,以下是一些常见的失效模式及其原因: 开路: 原因:内部连接断开、焊点断裂、导线断裂等。 影响:电流无法通过,电路中断。…...

TypeScript跟js,es6这些的区别

TypeScript 一、TypeScript 是什么 想象 JavaScript 是一个自由奔放的艺术家&#xff0c;它在创作&#xff08;编写代码&#xff09;时不受太多约束&#xff0c;非常灵活&#xff0c;但有时也容易犯错且难以调试。而 TypeScript 就像是给这位艺术家配备了一套精确的工具和规范…...

单例模式代码示例

饿汉式&#xff1a;在类加载时就创建单例实例&#xff0c;线程安全。代码如下&#xff1a; public class Singleton {// 私有静态实例private static final Singleton instance new Singleton();// 私有构造函数private Singleton() {}// 公共访问方法public static Singleto…...

掌握 ElasticSearch的 _source 过滤

掌握 ElasticSearch的 _source 过滤 1. 引言2. _source 元数据基础2.1 什么是 _source 字段&#xff1f;2.2 _source 的基本用法 3. 禁用 _source3.1 如何禁用 _source 字段3.2 禁用 _source 的利弊3.3 最佳实践建议 4. _source 数据源过滤4.1 为什么需要数据源过滤&#xff1f…...

车载音频配置(二)

目录 OEM 自定义的车载音频上下文 动态音频区配置 向前兼容性 Android 14 车载音频配置 在 Android 14 中,AAOS 引入了 OEM 插件服务,使你可以更主动地管理由车载音频服务监督的音频行为。 随着新的插件服务的引入,车载音频配置文件中添加了以下更改: • OEM 自定义的车…...

开目3DCAPP系列:三维制造成本分析与估算软件3DDFC

开目3DDFC 是一款基于 MBD 模型和工艺知识库的专业三维制造成本分析与估算软件&#xff0c;在不依赖详细工艺路线的情况下&#xff0c;根据零件几何信息和精度信息一键式完成零件成本的分析与估算&#xff0c;为面向成本的设计优化提供参考指引&#xff0c;也为企业对外产品报价…...

化学品安全数据表(MSDS)的全面解析与实用指南

SDS&#xff08;安全数据表&#xff09;&#xff0c;也称为MSDS&#xff08;材料安全数据表&#xff09;&#xff0c;是用于详细说明化学品的理化特性&#xff08;如pH值、闪点、易燃性、反应活性等&#xff09;及其对使用者健康&#xff08;如致癌、致畸等&#xff09;潜在危害…...

赛前启航 | Azure 应用开发实战指南:开启创意的无限可能

在 AI 时代&#xff0c;如何高效构建、优化和部署你的应用&#xff1f;如何充分利用微软 Azure 的强大能力&#xff0c;让开发更敏捷&#xff0c;性能更卓越&#xff1f;2 月 21 日 14:00-16:00&#xff0c;微软 AI 开发者挑战赛赛前指导第二场直播&#xff0c;带你全方位掌握 …...

Visual Studio Code的下载安装与汉化

1.下载安装 Visual Studio Code的下载安装十分简单&#xff0c;在本电脑的应用商店直接下载安装----注意这是社区版-----一般社区版就足够用了---另外注意更改安装地址 2.下载插件 重启后就是中文版本了...

home assistant ddns动态域名解析插件

home assistant ddns动态域名解析插件 使用方法 在HACS中搜索 ddns安装(hacs目前还没有合并我的提交&#xff0c;目前不可用)&#xff0c;或者 clone https://github.com/weiangongsi/ddns.git, 将 custom_components/ddns目录拷贝至 Home Assistant 配置目录的 custom_compon…...

金融交易算法单介绍

0.背景 股票交易时&#xff0c;常见的订单类型有基础订单和条件订单。 基础订单 市价单限价单碎股单等等 条件订单 止损市价单止损限价单触及市价单&#xff08;止盈&#xff09;触及限价单&#xff08;止盈&#xff09;跟踪止损市价单跟踪止损限价单等等 除了基础订单和…...

LabVIEW利用CANopen的Batch SDO写入

本示例展示了如何通过CANopen协议向设备写入Batch SDO&#xff08;批量服务数据对象&#xff09;。Batch SDO允许用户在一次操作中配置多个参数&#xff0c;适用于设备的批量配置和参数设置。此方法能够简化多个参数的写入过程&#xff0c;提高设备管理效率。 主要步骤&#xf…...

正式页面开发-登录注册页面

整体路由设计&#xff1a; 登录和注册的切换是切换组件或者是切换内容&#xff08;v-if和 v-else)&#xff0c;因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页&#xff0c;有三个大模块&#xff1a;文章分类&…...

vLLM专题(二):安装-CPU

vLLM 是一个 Python 库,支持以下 CPU 变体。选择您的 CPU 类型以查看供应商特定的说明: Intel/AMD x86 vLLM 最初支持在 x86 CPU 平台上进行基本模型推理和服务,支持的数据类型包括 FP32、FP16 和 BF16。 注意 此设备没有预构建的 wheel 包或镜像,因此您必须从源代码构建 v…...

【CSS进阶】常见的页面自适应的方法

在前端开发中&#xff0c;自适应布局&#xff08;Responsive Design&#xff09;是一种让网页能够适应不同屏幕尺寸、设备和分辨率的技术。常见的自适应布局方法包括 流式布局、弹性布局&#xff08;Flexbox&#xff09;、栅格布局&#xff08;Grid&#xff09;、媒体查询&…...

Java编程语言:从基础到高级应用的全面探索

在当今的软件开发领域中&#xff0c;Java无疑是一种极为流行且强大的编程语言。自1995年由Sun Microsystems推出以来&#xff0c;Java凭借其跨平台性、面向对象特性和丰富的API库&#xff0c;迅速成为企业级应用开发的首选语言。本文将带您从Java的基础语法入手&#xff0c;逐步…...

计算机视觉:神经网络实战之手势识别(附代码)

第一章&#xff1a;计算机视觉中图像的基础认知 第二章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(一) 第三章&#xff1a;计算机视觉&#xff1a;卷积神经网络(CNN)基本概念(二) 第四章&#xff1a;搭建一个经典的LeNet5神经网络(附代码) 第五章&#xff1…...

linux 面试题

1. 文件与目录操作 ls 功能&#xff1a;列出目录内容 常用参数&#xff1a; -l&#xff1a;长格式显示&#xff08;权限、大小、时间等&#xff09;-a&#xff1a;显示隐藏文件&#xff08;以.开头的文件&#xff09;-h&#xff1a;以易读格式显示文件大小&#xff08;如KB/…...

利用websocket检测网络连接稳定性

浏览器中打开F12&#xff0c;控制台中输入以下内容 > 回车 > 等待结果 连接关闭 表示断网 let reconnectDelay 1000; // 初始重连间隔 let pingInterval null; let socketManuallyClosed false; // 标志是否手动关闭function createWebSocket() {if (socketManuallyCl…...

Go入门之数组与切片

var arr1 [...]int{1, 2, 3}fmt.Println(len(arr1)) 数组长度不能扩展 var arr2 [...]int{0: 100, 5: 101}fmt.Println(len(arr2)) } 指定索引初始化 可以通过for和range遍历 值类型:基本数据类型和数组都是值类型&#xff0c;改变副本的值不会改变本身的值 切片为引用数…...

《Nuxt.js 实战:从放弃到入门》六、打造个性化文字转图片工具

​​ 在当今短视频的时代&#xff0c;将文字转化为图片是一个常见且实用的需求&#xff0c;无论是用于社交媒体分享、设计宣传材料&#xff0c;还是制作个性化的视觉内容。今天&#xff0c;我们就来深入剖析一个使用 Vue 3 和 ElementPlus 构建的文字转图片工具的代码&#xf…...

软硬链接?

目录 1. 硬链接&#xff08;Hard Link&#xff09; 2. 软链接&#xff08;Symbolic Link&#xff0c;符号链接&#xff09; 总结&#xff1a; 1. 硬链接&#xff08;Hard Link&#xff09; 定义&#xff1a; 硬链接是直接指向文件数据块&#xff08;inode&#xff09;的链接。…...

轻松搭建本地大语言模型(二)Open-WebUI安装与使用

文章目录 前置条件目标一、安装 Open-WebUI使用 Docker 部署 二、使用 Open-WebUI&#xff08;一&#xff09;访问Open-WebUI&#xff08;二&#xff09;注册账号&#xff08;三&#xff09;模型选择&#xff08;四&#xff09;交互 四、常见问题&#xff08;一&#xff09;容器…...

windows Redis Insight 如何查看宝塔docker里的redis数据

1、ping 命令用于测试网络连通性&#xff0c;它只需要目标 IP 地址作为参数&#xff0c;不需要端口号。正确的命令如下&#xff1a; ping 公网地址2、使用 Telnet 测试端口连通性 telnet 公网地址 端口 telnet 47.108.67.228 6379如果连接成功&#xff0c;窗口会变为空白&am…...

Python高级语法之urllib

目录&#xff1a; 1、爬虫的介绍2、urllib的使用2.1、urllib的异常捕获2.2、urllib的实现微博cookie登陆2.3、urllib的handler处理器2.4、urllib的代理服务器2.5、urllib的代理服务池 1、爬虫的介绍 2、urllib的使用 2.1、urllib的异常捕获 2.2、urllib的实现微博cookie登陆 2…...

word$deepseep

1、进入官网地址。 DeepSeek 2、进入DeepSeek的API文档 3、点击DeepSeek开放平台左侧的“API Keys”, 再点击“创建API Key” 4、在弹出的对话框中&#xff0c;输入自己的API Key名称&#xff0c;点击创建。 sk-0385cad5e19346a0a4ac8b7f0d7be428 5、打开Word文档。 6、Word找…...

【koa】05-koa+mysql实现数据库集成:连接和增删改查

前言 前面我们已经介绍了第二阶段的第1-4点内容&#xff0c;本篇介绍第5点内容&#xff1a;数据库集成&#xff08;koamysql&#xff09; 也是第二阶段内容的完结。 一、学习目标 在koa项目中正常连接数据库&#xff0c;对数据表进行增删改查的操作。 二、操作步骤 本篇文章…...

【深度学习】分布偏移纠正

分布偏移纠正 正如我们所讨论的&#xff0c;在许多情况下训练和测试分布 P ( x , y ) P(\mathbf{x}, y) P(x,y)是不同的。 在一些情况下&#xff0c;我们很幸运&#xff0c;不管协变量、标签或概念如何发生偏移&#xff0c;模型都能正常工作。 在另一些情况下&#xff0c;我们…...

数据结构_前言

本次我们将进入一个新的阶段啦~ 要注意哦&#xff1a; 在学数据结构之前&#xff0c;我们要先掌握c语言中所学的指针、结构体、内存的存储这几部分&#xff0c;如果还没太掌握的话&#xff0c;那记得去复习回顾一下噢。 下面我们就一起进入数据结构的学习吧&#xff01; 知识…...

spark任务运行

运行环境 在这里插入代码片 [roothadoop000 conf]# java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01)[roothadoop000 conf]# echo $JAVA_HOME /home/hadoop/app/jdk1.8.0_144[roothadoop000 conf]# vi spark-env.sh …...

由because it is a JDK dynamic proxy that implements温习Spring的代理

由because it is a JDK dynamic proxy that implements温习Spring的代理 项目场景原因分析1、报错位置2、错误原因3、业务需求 解决方案1、注入CGlib代理2、取出原生对象 项目场景 昨日在启动一个SpringBoot项目时&#xff0c;发现启动失败&#xff0c;并在日志中出现了这样的…...

mac相关命令

显示和隐藏usr等隐藏文件文件 terminal输入: defaults write com.apple.Finder AppleShowAllFiles YESdefaults write com.apple.Finder AppleShowAllFiles NO让.bashrc每次启动shell自动生效 编辑vim ~/.bash_profile 文件, 加上 if [ -f ~/.bashrc ]; then. ~/.bashrc fi注…...

Banana Pi OpenWRT One 官方路由器的第一印象

OpenWRT One是OpenWRT开源社区推出的首款官方开发板&#xff0c;与Banana Pi社区共同设计&#xff0c;由Banana Pi制造和发行。路由器采用蓝色铝合金外壳&#xff0c;质感极佳&#xff0c;视觉效果远超宣传图。整体设计简洁&#xff0c;呈长方形&#xff0c;虽然不是特别时尚&a…...

基于SpringBoot的“高考志愿智能推荐系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“高考志愿智能推荐系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 系统首页界面 系统注册页…...

探索Hugging Face:开源AI社区的核心工具与应用实践

引言&#xff1a;AI民主化的先锋 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;Hugging Face已成为开源社区的代名词。这个成立于2016年的平台&#xff0c;通过提供易用的工具和丰富的预训练模型库&#xff0c;彻底改变了开发者使用和部署AI模型的方式。截至202…...

SVM对偶问题

1、对偶问题数学基础 对偶问题&#xff1a;在线性规划中&#xff0c;每一个线性规划问题(称为原问题)都有一个与之对应的对偶问题。从数学形式上看&#xff0c;如果原问题是求解一个线性目标函数的最大值&#xff08;或最小值&#xff09;&#xff0c;在满足一系列线性不等式&…...

萃取的实现(三)

探测成员 基于SFINAE&#xff0c;判断一个给定类型T&#xff0c;是否含有名为x的成员。 探测类型成员 判断一个给定类型T&#xff0c;是否含有类型成员size_type&#xff0c;源码如下&#xff1a; #include <type_traits> #include <iostream> #include <vect…...

nodejs版本管理,使用 nvm 删除node版本,要删除 Node.js 的某个版本详细操作

要删除 Node.js 的某个版本并保持 Node Version Manager (nvm) 的管理整洁&#xff0c;可以按以下步骤操作&#xff1a; 步骤 1&#xff1a;查看已安装的 Node.js 版本 nvm ls这会列出你通过 nvm 安装的所有 Node.js 版本。输出类似于&#xff1a; -> v18.17.1v16.20…...

openCV中如何实现滤波

图像滤波用于去除噪声和图像平滑&#xff0c;OpenCV 提供了多种滤波器&#xff1a; 1.1. 均值滤波&#xff1a; import cv2# 读取图像 image cv2.imread("example.jpg")# 均值滤波 blurred_image cv2.blur(image, (5, 5)) # (5, 5) 是滤波核的大小 滤波核大小的…...

vscode通过ssh连接服务器实现免密登录+删除

文章目录 参考&#xff1a; 1、 vscode通过ssh连接服务器实现免密登录删除&#xff08;吐血总结&#xff09;...

智能硬件新时代,EasyRTC开启物联音视频新纪元

在万物互联的时代浪潮中&#xff0c;智能硬件正以前所未有的速度融入我们的生活&#xff0c;从智能家居的便捷控制&#xff0c;到智能穿戴设备的健康监测&#xff0c;再到工业物联网的高效管理&#xff0c;智能硬件的应用场景不断拓展。而在这个智能硬件蓬勃发展的背后&#xf…...

《机器学习数学基础》补充资料:求解线性方程组的克拉默法则

《机器学习数学基础》中并没有将解线性方程组作为重点&#xff0c;只是在第2章2.4.2节做了比较完整的概述。这是因为&#xff0c;如果用程序求解线性方程组&#xff0c;相对于高等数学教材中强调的手工求解&#xff0c;要简单得多了。 本文是关于线性方程组的拓展&#xff0c;供…...

mysql的rpm包安装

(如果之前下载过mariadb&#xff0c;使用yum remove mariadb卸载&#xff0c;因为mariadb与rpm包安装的mysql有很多相似的组件和文件&#xff0c;会发生冲突&#xff0c;而源码包安装的mysql不会&#xff0c;所以不用删除源码包安装myqsl&#xff0c;只删除mariadb就可以&#…...