Vue+ElementUI实现选择指定行导出Excel

这里记录一下,今天写项目时 的一个需求,就是通过复选框选中指定行然后导出表格中选中行的Excel表格

然后这里介绍一个工具箱(模板):vue-element-admin

将它拉取后,运行就可以看到如下界面:

这里面的很多功能都已经实现了,比如上图我标记的导出Excel、Zip、PDF等。。。

然后这里我们实现的是导出Excel,我们拷贝所要实现功能的代码、文件。 

拷贝这两个方法到你的项目中需要导出Excel的组件中,将handleDownload方法绑定到导出按钮上

拷贝这个js文件到你的项目中 

然后需要安装这两个依赖

npm install xlsx@0.14.1

npm install file-saver@2.0.1

通过了解,xlsx和file-saver是通过将JSON数据转为Excel。那这个就好说了!!!

 这里解释一下:

可以去Element官方文档查看多选表格: 组件 | Element

:key 很重要!!! 本人踩的坑

如果你的项目表格中,没有删除功能、修改功能的话,那就可以不写它(:key)!!!

因为设置reserve-selection为true:在数据更新之后保留之前选中的数据。如果你的项目需求只是要求当前页导出的话,那可以不设置它!

如果需求是:后端是一页一页的返回数据。当选中第一页的某些行,点击第二页再选中第二页的行,最后点击按钮将第一页和第二页选中的行都导出!这样的话就必须设置这个属性为true。将它设置为true之后表格中又有删除、修改操作,就必须为表格写上:key,然后在修改、删除方法内更新这个值,否则你先选中某行,然后对该行进行了修改操作,此时你导出Excel它的数据还是你修改前的数据。你先选中一些行,然后删除这些行中的其中一行,此时你导出Excel它的数据还是会保留已经删除的数据

val就是你当前选中行的数据

handleDownload() {// console.log(this.list)this.downloadLoading = trueimport('@/vendor/Export2Excel').then(excel => {const tHeader = ['编号', '姓名', '性别', '联系电话', '在校教龄(单位:年)', '职位']const filterVal = ['teaId', 'teaName', 'teaSex', 'teaPhone', 'seniority', 'teaType']const list = this.listconst data = this.formatJson(filterVal, list)// console.log(data)excel.export_json_to_excel({header: tHeader,data,filename: this.filename,autoWidth: this.autoWidth,bookType: this.bookType})this.downloadLoading = false})},formatJson(filterVal, jsonData) {return jsonData.map(v => filterVal.map(j => {if (j === 'teaSex') {if (v[j]) {return '女'}return '男'}if (j === 'teaType') {if (v[j]) {return '教员'}return '班主任'}return v[j]}))}

这里我的代码,由于性别和类型是Boolean类型所以加了一个if判断。

tHeader就是你导出去的列名称,filterVal就是你要导出的列名

效果

如有帮助到你,请点一个关注。相互学习!!! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/66282.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淘宝API接口的实时数据和缓存数据区别

电商API接口实时数据是指通过API接口获取到的与电商相关的实时数据。这些数据可以包括商品库存、订单状态、销售额、用户活跃度等信息。 通过电商API接口,可以实时获取到电商平台上的各种数据,这些数据可以帮助企业或开发者做出及时的决策和分析。例如&…

抓取预测二手车价格的机器学习模型

一、说明 你好,希望那里一切都好!今天在本文中,我们有三个不同的部分。1)我想与您分享一个主题故事,以便您了解该主题。2)我们将深入探讨该过程。您将学习一些网页抓取方法。3)然后当然是EDA过程…

【黑马头条之app端文章搜索ES-MongoDB】

本笔记内容为黑马头条项目的app端文章搜索部分 目录 一、今日内容介绍 1、App端搜索-效果图 2、今日内容 二、搭建ElasticSearch环境 1、拉取镜像 2、创建容器 3、配置中文分词器 ik 4、使用postman测试 三、app端文章搜索 1、需求分析 2、思路分析 3、创建索引和…

C语言中几种常见数据类型所占字节数

指针是一个特殊的变量,32位机器占4个字节,64位机器占8个字节; **16位编译器: char/unsigned char :1字节 char :2字节 short int:2字节 int/unsigned int:2字节 long int&#xff…

【STM32】FreeRTOS互斥量学习

互斥量(Mutex) 互斥量又称互斥信号量(本质也是一种信号量,不具备传递数据功能),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性…

解决校园网使用vmware桥接模式,虚拟机与物理机互相ping通,但是虚拟机ping不通百度的问题

遇到的问题 使用校园网时,桥接模式下,物理机可以ping通虚拟机,但是虚拟机ping不通主机 解决方法 在物理机中查看网络相关信息 ipconfig 修改虚拟机网卡信息 vim /etc/sysconfig/network-scripts/ifcfg-ens33 注意 /ifcfg-ens33需要根据…

Kotlin runBlocking launch多个协程读写mutableListOf时序

Kotlin runBlocking launch多个协程读写mutableListOf时序 import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.runBlockingfun main(args: Array<String>) {var lists mutableListOf<String>()runBlocking {launch {r…

R语言 列表中嵌套列名一致的多个数据框如何整合为一个数据框

在批量建模后容易得到list&#xff0c;list中的每个元素都是单个的tibble 或者 dataframe&#xff0c;如何将这些数据整合为一张表呢&#xff1f; 载入R包 library(broom) library(tidyverse) 模拟数据 models <- txhousing %>% group_by(city) %>% do(modlm(lo…

Chatgpt API调用报错:openai.error.RateLimitError

Chatgpt API 调用报错&#xff1a; openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing details. 调用OpenAI API接口 import openai import osopenai.api_key os.getenv("OPENAI_API_KEY")result openai.Chat…

Pytorch基于VGG cosine similarity实现简单的以图搜图(图像检索)

代码如下&#xff1a; from PIL import Image from torchvision import transforms import os import torch import torchvision import torch.nn.functional as Fclass VGGSim(torch.nn.Module):def __init__(self):super(VGGSim, self).__init__()blocks []blocks.append(t…

Claude 2、ChatGPT、Google Bard优劣势比较

​Claude 2&#xff1a; 优势&#xff1a;Claude 2能够一次性处理多达10万个tokens&#xff08;约7.5万个单词&#xff09;。 tokens数量反映了模型可以处理的文本长度和上下文数量。tokens越多&#xff0c;模型理解语义的能力就越强&#xff09;。它在法律、数学和编码等多个…

前后端分离------后端创建笔记(03)前后端对接(下)

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论&#xff0c;如有侵权请联系 源码&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…