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.pswp.cn/news/40689.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40689.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40689.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【NAS群暉drive異地訪問】使用cpolar遠程訪問內網Synology Drive「內網穿透」

文章目錄 前言1.群暉Synology Drive套件的安裝1.1 安裝Synology Drive套件1.2 設置Synology Drive套件1.3 局域網內電腦測試和使用 2.使用cpolar遠程訪問內網Synology Drive2.1 Cpolar云端設置2.2 Cpolar本地設置2.3 測試和使用 3. 結語 前言 群暉作為專業的數據存儲中心&…

jupyter切換conda虛擬環境

環境安裝 conda install nb_conda 進入你想使用的虛擬環境: conda activate your_env_name 在你想使用的conda虛擬環境中: conda install -y jupyter 在虛擬環境中安裝jupyter: conda install -y jupyter 重啟jupyter 此時我們已經把該安裝…

也許你正處于《孤注一擲》中的“團隊”,要留心了

看完這部電影,心情久久不能平靜,想了很多,倒不是擔心自己哪天也成為“消失的yaozi”,而是在想,我們每天所賴以生存的工作,跟電影里他們的工作比,差別在哪里呢? 目錄 1. 產品的本質…

Linux系統下的性能分析命令

在 Linux 系統下,有許多用于性能分析和調試的命令和工具,可以幫助您識別系統瓶頸、優化性能以及調查問題。本文將介紹在性能分析過程中,可能使用到的一些命令。 以下是一些常用的性能分析命令和工具匯總: 命令功能簡述top用于實…

2023-08-16力扣每日一題

鏈接: 2682. 找出轉圈游戲輸家 題意: 環形1到n,從1開始,每次移動 第i次*k ,當移動到出現過的序號時停下, 求沒移動到的數字 解: 簡單模擬題,我也以為有數學做法,可…

docker安裝部署

目錄 docker安裝部署 1.環境 2.安裝步驟 1.安裝必要工具 2.配置軟件源 3.修改軟件源 4.更新并下載docker 5.設置開機自啟 3.啟動docker 1.配置docker鏡像加速器 2.啟動服務 docker安裝部署 1.環境 centos7 2.安裝步驟 1.安裝必要工具 yum install -y yum-utils dev…

【QT+ffmpeg】QT+ffmpeg 環境搭建

1.qt下載地址 download.qt.io/archive/ 2. win10sdk 下載 https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ 安裝 debug工具路徑 qtcreater會自動識別 調試器選擇

最長連續序列

題目: 給定一個未排序的整數數組 nums ,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。 示例 1: 輸入:nums [100,4,200,1,3,2] 輸出:4 解釋:最長數字連續序列是…

74、75、76——tomcat項目實戰

tomcat項目實戰 tomcat 依賴 java運行環境,必須要有jre , 選擇 jdk1.8 JvmPertest 千萬不能用 kyj易捷支付 項目機器 選擇 一臺機器 ,安裝jdk1.8的機器下載tomcat的包 上傳到機器,解壓tomcattomcat文件 bin文件夾: 啟動文件 堆棧配置文件 catalina.sh JAVA_OPTS="-Xm…

gitlab合并新項目和分支切換

一、新建項目 1、創建空白項目 2、先創建一個群組 3、編寫群組信息 4、創建群組完成以后新建項目 ??????? 二、將代碼推送到gitlab 1、初始化 git init 2、關聯gitlab地址 # 比如:http://192.168.139.128:7070/cloud/obwt_cloud.git git remote add origin <你…

FreeRTOS qemu mps2-an385 bsp 移植制作 :串口打印篇

相關文章 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;環境搭建篇 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;系統啟動篇 FreeRTOS qemu mps2-an385 bsp 移植制作 &#xff1a;系統運行篇 開發環境 Win10 64位 VS Code&#xff0c;ssh 遠程連接 ubuntu …

如何使用Python編寫小游戲?

大家好&#xff0c;我是沐塵而生&#xff0c;如果你是一個熱愛編程的小伙伴&#xff0c;又想嘗試游戲開發&#xff0c;那么這篇文章一定能滿足你的好奇心。不廢話&#xff0c;讓我們馬上進入Python游戲開發的精彩世界吧&#xff01; Python游戲開發的魅力 編寫小游戲不僅僅是鍛…

BUUCTF [安洵杯 2019]easy_serialize_php 1 詳細講解

題目來自buuctf&#xff0c;這是一題關于php序列化逃逸的題 1. 題目 題目給出的代碼 <?php$function $_GET[f];function filter($img){$filter_arr array(php,flag,php5,php4,fl1g);$filter /.implode(|,$filter_arr)./i;return preg_replace($filter,,$img); }if($_S…

【重復處理】CRUD接口冪等性處理

保證冪等性的核心思想&#xff1a;通過唯一的業務單號保證冪等 非并發情況下&#xff0c;查詢業務單號有沒有操作過&#xff0c;沒有則執行操作針對第一次執行業務時間&#xff0c;有大量并發情況下&#xff0c;整個操作過程加鎖&#xff0c;通過分布式鎖來加鎖Select操作&…

時序預測 | MATLAB實現基于CNN-BiGRU卷積雙向門控循環單元的時間序列預測-遞歸預測未來(多指標評價)

時序預測 | MATLAB實現基于CNN-BiGRU卷積雙向門控循環單元的時間序列預測-遞歸預測未來(多指標評價) 目錄 時序預測 | MATLAB實現基于CNN-BiGRU卷積雙向門控循環單元的時間序列預測-遞歸預測未來(多指標評價)預測結果基本介紹程序設計參考資料 預測結果 基本介紹 MATLAB實現基于…

Dubbo基礎學習

目錄 第一章、概念介紹1.1&#xff09;什么是RPC框架1.2&#xff09;什么是分布式系統1.3&#xff09;Dubbo概述1.3&#xff09;Dubbo基本架構 第二章、服務提供者(直連)2.1&#xff09;目錄結構和依賴2.2&#xff09;model層2.3&#xff09;service層2.4&#xff09;resources…

【eNSP】交換機(vlan和vlan間通信)

【eNSP】交換機&#xff08;vlan和vlan間通信&#xff09; 原理術語過程 實驗根據圖片連接模塊配置設備名稱和IP地址配置交換機交換機鏈路指定sw1配置sw2配置 設置網關交換機互聯實驗設置查看設置結果 ospf配置 原理 HUB集線器&#xff1a;它的作用可以簡單的理解為將一些機器…

【算法系列篇】雙指針

文章目錄 前言什么是雙指針算法1.移動零1.1 題目要求1.2 做題思路1.3 Java代碼實現 2.復寫零2.1 題目要求2.2 做題思路2.3 Java代碼實現 3.快樂數3.1 題目要求3.2 做題思路3.3 Java代碼實現 4.盛最多水的容器4.1 題目要求4.2 做題思路4.3 Java代碼實現 5.有效三角形的個數5.1 題…

k8s 自身原理 4

前面咱們分享了 mater 和 worker 節點里面都有哪些組件&#xff0c;他們又是各自主要負責的工作是什么&#xff0c;現在我們心里應該都有數了吧 master 節點&#xff1a; etcd 存儲資源配置&#xff0c;ApiServer 提供 RESTful Api 用于交互&#xff0c;scheduler 用于調度 p…

VS2019 + Qt : setToolTip的提示內容出現亂碼

VS2019 Qt : setToolTip的提示內容出現亂碼 在使用setToolTip()時&#xff0c; setToolTip(QString("asd你好&#xff01;");標簽提示只有英文是對的&#xff0c;中文是亂碼&#xff01; 應該是編碼出了問題。默認情況下&#xff0c;Qt使用的是UTF-8編碼&#xf…