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

这篇具有很好参考价值的文章主要介绍了Vue+ElementUI实现选择指定行导出Excel。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

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

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

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

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

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

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

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

然后需要安装这两个依赖

npm install xlsx@0.14.1

npm install file-saver@2.0.1

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

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

 这里解释一下:

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

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

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

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

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

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

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

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

handleDownload() {
      // console.log(this.list)
      this.downloadLoading = true
      import('@/vendor/Export2Excel').then(excel => {
        const tHeader = ['编号', '姓名', '性别', '联系电话', '在校教龄(单位:年)', '职位']
        const filterVal = ['teaId', 'teaName', 'teaSex', 'teaPhone', 'seniority', 'teaType']
        const list = this.list
        const 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就是你要导出的列名

效果

Vue+ElementUI实现选择指定行导出Excel,vue.js,elementui,excel

如有帮助到你,请点一个关注。相互学习!!! 文章来源地址https://www.toymoban.com/news/detail-647105.html

到了这里,关于Vue+ElementUI实现选择指定行导出Excel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用VUE,实现excel导出数据

    前言 一、 前端界面 二、 封装js文件 1. 写方法以及引入 2. 获取数据,对数据处理 总结 前段时间,工作上需要在一个界面增加一个数据导出功能,按照以前的思路方法,一般会去通过后端编写接口进行导出excel,其实现在很多的项目框架,它们也自带封装好了这个功能。在自己

    2024年02月11日
    浏览(30)
  • Vue中如何实现Excel导入导出

    在前面员工的添加是一个一个进行的,如果一次性添加多个员工信息,这时候就会很繁琐 因此需要我们开发一个批量导入的功能,将用户的信息存储到 excel 中然后进行批量导入 1. 分析 vue-element-admin 中的导入方案 在vue-element-admin中,大佬已经封装好了Excel的导入导出方案,我

    2023年04月14日
    浏览(35)
  • vue实现导出excel的多种方式

    在Vue中实现导出Excel有多种方式,可以通过前端实现,也可以通过前后端配合实现。下面将详细介绍几种常用的实现方式。 使用 xlsx 库:使用 xlsx 库可以在前端将数据导出为Excel文件。首先需要安装 xlsx 库,然后在Vue组件中引入并使用该库来处理数据并导出Excel文件。以下是一

    2024年02月11日
    浏览(31)
  • 【vue导入导出Excel】vue简单实现导出和导入复杂表头excel表格功能【纯前端版本和配合后端版本】

    前言 这是一个常用的功能,就是导入和导出excel表格 但是时常会遇到一些复杂表头的表格导出和导入 比如我这个案例里面的三层表头的表格。 网上看了下发现了一个非常简单导出和导入方法 当然这个是纯前端的版本,会出现分页不好下载的情况。所以实际工作中,导出还是

    2024年02月11日
    浏览(45)
  • vue实现导出excel的两种方式

    通过vue实现导出有两种方式: (1)后端返回的是一个地址,直接拼接打开下载就行 (2)后端返回的是文件流的形式,这个时候就需要在请求头还有返回值的地方设置一下 (1)设置请求头 (2)设置返回结果,处理返回我文件流 (3)附加说明 有的时候做到上述几步还是不

    2024年02月12日
    浏览(32)
  • SpringBoot和Vue实现Excel导入导出

    hutool工具 hutool工具 浏览器格式 打开浏览器能下载Excel即成功。 3.1 测试: 通过postman测试,send之后返回true测试成功。 在Navicat刷新,可以看到新写入的数据。

    2024年03月17日
    浏览(53)
  • 使用vue实现导出Excel功能【纯前端】

    最近接手一个项目,其中一个需求是将查询出来table中的数据导出为Excel文件,并下载到本地。 问题来了,这种东西,不是应该后端去实现更好一些吗?如果放在前端做,要拿到全部数据,然后把这些数据进行解析,再进行一系列的骚操作转化成Excel文件,假如数据量少还好,

    2024年02月10日
    浏览(34)
  • Vue前端实现excel的导入、导出、打印功能

    导入导出依赖: npm install xlsx@0.16.9 npm install xlsx-style@0.8.13 --save 安装xlsx-style,运行报错 This relative module was not found: ./cptable in ./node_modules/xlsx-style@0.8.13@xlsx-style/dist/cpexcel.js 解决报错 在node_modulesxlsx-styledistcpexcel.js 807行 的 var cpt = require(\\\'./cpt\\\' + \\\'able\\\'); 改为: var cpt = cptable; 打印

    2023年04月08日
    浏览(34)
  • vue 实现前端处理 “数组数据“ 转excel格式文件,并导出excel表格

    一、安装插件 XLSX 二、页面引入        希望我的愚见能够帮助你哦~,若有不足之处,还望指出,你们有更好的解决方法,欢迎大家在评论区下方留言支持,大家一起相互学习参考呀~

    2024年01月18日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包