vue.js导出excel,vue导出表格的两种方法

  vue.js导出excel,vue导出表格的两种方法

  在开发后台管理系统时,很多地方需要导出excel表格,比如将表格中的数据导出到本地。本文主要介绍Excel导出到Vue的功能的相关信息,有需要的朋友可以参考一下。

  :

目录

   1.前端领先流程:

  2.插件的使用和初始化

  2.1借助vue-admin中提供的方法。2.2安装插件依赖项。2.3回调函数的内容如下:3 .处理后台数据达到想要的效果3.1准备一个数据处理函数(最后会用到回调)3.2先处理表头,定义一个对象,目的是后面把表头的英文转换成中文。3.3定义标题。3.4处理后台返回数据。3.5表头处理逻辑3.6表格数据处理逻辑3.7函数返回3.8最终汇总:

  

1.前端主导流程:

  1.单击页面中的导出按钮(注册单击事件)

  2.在事件回调中,发送请求的后台数据。

  3.处理背景数据,以达到预期的效果。

  4.生成Excel文件

  

2. 插件使用及初始化

  

2.1 借助vue-admin中提供的方法。

  将插件包复制并粘贴到您自己项目下的src文件夹中。

  

2.2 安装插件依赖。

  注:报告错误的概率很高。这个阶段出了什么问题,基本就看不装了。就装吧。

  npm安装文件-保存程序脚本-加载程序-保存

  

2.3 回调函数内容如下

  当我们正式点击“导出”按钮时,我们将在供应商文件夹中加载Export2Excel模块。

  当我们正式点击“导出”按钮时,我们将在供应商文件夹中加载Export2Excel模块。

  导入(“@/vendor/Export2Excel”)。然后(excel={

  //excel表示//导入的模块对象。//执行导入方法时,返回一个promise对象。

  //在then方法中,我们可以得到使用的模块对象。

  console.log(excel)

  excel.export_json_to_excel({

  表头:[姓名,薪资],//表头必输

  数据:[

  [刘备,100],//重点放在数据的配置部分。我们发现它需要一个严格的二维数组。

  [关羽,500]

  ],//需要具体数据

  文件名: excel-list ,//文件名

  AutoWidth: true,//宽度是否自适应?

  BookType: xlsx //生成的文件类型

  })

  })

  Excel导出参数描述

  注:到目前为止,其实已经完成了简单的导出效果,用的是自己写的假数据。在实际项目中,必须是后台返回的数据,要修改格式才能达到想要的效果(真实测试后,以上步骤即可完成。)效果如下:

  

3.对后台数据进行处理,完成想要的效果

  比如后台返回的头是英文,需要转换成中文,然后格式不是插件要求的格式。

  后端数据:

  您需要将密钥转换成中文,并将值更改为数组。

  

3.1 准备一个数据处理函数(最后会在回调里面使用)

  

3.2 先处理表头,定义一个对象,目的是待会将表头的英文转成中文

  常数映射={

  Id :数字,

  密码:密码,

  手机:手机号码,

  用户名:姓名,

  TimeOfEntry :雇佣日期,

  “就业表格”:“就业表格”,

  更正时间:确认日期,

  工作编号:工作编号,

  部门名称:部门,

  StaffPhoto :头像地址

  }

  

3.3 定义表头

  header=[英文头后面会转换成中文,是数组的形式]

  以下代码显示了这种效果:

  header=[id ,手机,用户名,……]

  

3.4 要处理后台返回数据

  返回背景数组,定义一个作为第一个数据,目的是用第一个数据作为样本设置表头。如果第一个数据是假的,说明后台还没有返回任何东西,这出戏就结束了。

  以下代码显示了这种效果:

  const one=list[0]

  如果(!一){

  返回{ header,data }

  }

  

3.5 表头处理逻辑

  01 object . keys(one)这是遍历对象,取出键组成数组。

  02 ` map方法通过对每个项目执行操作进行迭代,并返回一个数组。

  03 `返回map[key] ]`可视为map.id= number (通俗易懂);map方法不断对map对象做事情,map[key]实际上是一个值,比如 number 和 department ……然后形成一个数组,比如[name 和 salary]

  header=Object.keys(一个)。地图(key={

  返回地图[键]

  })

  

3.6 表格data处理逻辑

  目标:回到背景,正式员工和非正式员工分别用1和2表示。我们需要将数字转换成单词,并且需要将它们格式化成数组。

  01-首先,后台返回的obj [正式就业]是数字1,2。我们希望它们变得“正式”、“非正式”

  02-obj[ formofemployment ]=hiretypenmu[key]这个代码的意思是将汉字设置到左边的数字上,实现替换。我们来看看左和右分别代表什么。

  03- obj[formOfEmployment]此时是一个数字。

  04-hireTypEnmu:{1:正式, 2 :非正式 }这是我们自己定义的对象。

  05-hireTypEnmu[key]-key-key是一个数字——所以他是一个值或者一个汉字。

  以下代码显示了这种效果:

  //data将列表中的每个对象转换成相应的值数组。

  //hireTypEnmu:{1:正式, 2 :非正式 }

  data=list.map(obj={

  //Put obj [正式雇佣]: 1,2-正式,非正式

  const key=obj[ formOfEmployment ]//1,2

  obj[ formOfEmployment ]=hireTypEnmu[key]

  返回对象值(obj)

  })

  

3.7 函数返回

  返回处理后的数据。

  返回{ header,data }

  

3.8 最终完成

  这时候把这个函数带入回调函数,header和data的数据之前已经存在了。

  完成代码如下:

  hExport() {

  导入(“@/vendor/Export2Excel”)。然后(异步excel={

  //发送ajax请求获取数据

  const RES=await get employee(this . page,this.size)

  const list=res.data.rows

  Console.log(从后端获得的数据,列表)

  const { header,data }=this.formatData(list)

  //excel表示导入的模块对象。

  console.log(标题,数据)

  excel.export_json_to_excel({

  //表头:[姓名,薪资],//表头必选

  Header: header,//header是必需的。

  数据:数据,

  文件名: excel-list ,//文件名

  AutoWidth: true,//宽度是否自适应?

  BookType: xlsx //生成的文件类型

  })

  })

  },

  

总结:

  上述代码已经过测试,可以直接用于实现结果。

  附:vue-element-admin代码云,这个版本是有多个二次开发功能的那个。

  # git clone https://github.com/panjiachen/vue-element-admin.git #从github获取代码

  $ git clone https://gitee.com/mirrors/vue-element-admin.git #来自代码云

  $ cd vue-element-admin #切换到特定目录

  $ npm install #安装所有依赖项

  $ npm run dev #启动开发和调试模式。检查package.json文件的脚本以了解启动命令。

  关于Vue导出Excel的功能这篇文章到此为止。更多关于Vue导出Excel的功能,请搜索我们之前的文章或者继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: