黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

怎么用Vue导出excel表格功能

来源:黔优媒体网   时间:2024-09-19

这次给大家带来怎么用Vue导出excel表格功能,用Vue导出excel表格的注意事项有哪些,下面就是实战案例,一起来看一下。

引言:

最近使用vue在做一个后台系统,技术栈 vue + iView ,在页面中生成表格后, iView可以实现表格的导出,不过只能导出csv格式的,并不适合项目需求。

如果想要导出Excel

在src目录下创建一个文件(vendor)进入 Blob.js 和 Export2Excel.js

npm install -S file-saver 用来生成文件的web应用程序

npm install -S xlsx 电子表格格式的解析器

npm install -D script-loader 将js挂在在全局下

表结构

渲染页面中的表结构是由 columns 列 和 tableData 行,来渲染的 columns 为表头数据 tableData 为表实体内容

columns1: [
   title: '序号',
   key: 'serNum'
   },
   title: '选择',
   key: 'choose',
   align: 'center',
   render: (h, params) =  {
    if (params.row.status !== '1'  amp; amp; params.row.status !== '2') {
    return h('p', [
     h('checkbox', {
     props: {
      type: 'selection'
     },
     on: {
      'input': (val) =  {
      console.log(val)
      }
     }
     })
    ])
    } else {
    return h('span', {
     style: {
     color: '#587dde',
     cursor: 'pointer'
     },
     on: {
     click: () =  {
      // this.$router.push({name: '', query: { id: params.row.id }})
     }
     }
    }, '查看订单')
    }
   },
   ...
  ],

tableData 就不写了,具体数据结构查看iViewAPI

在build 目录下 webpack.base.conf.js 配置 我们要加载时的路径

alias: {
  'src': path.resolve(dirname, '../src'),
 }

在当前页面中引入依赖

require('script-loader!file-saver')
 // 转二进制用
 require('script-loader!src/vendor/Blob')
 // xlsx核心
 require('script-loader!xlsx/dist/xlsx.core.min')

当我们要导出表格执行 @click 事件调用 handleDownload 函数

handleDownload() {
  this.downloadLoading = true
  require.ensure([], () =  {
   const {export_json_to_excel} = require('src/vendor/Export2Excel')
   const tHeader = Util.cutValue(this.columns1, 'title')
   const filterVal = Util.cutValue(this.columns1, 'key')
   const list = this.tableData1
   const data = this.formatJson(filterVal, list)
   export_json_to_excel(tHeader, data, '列表excel')
   this.downloadLoading = false
  formatJson(filterVal, jsonData) {
  return jsonData.map(v =  filterVal.map(j =  v[j]))
  }

Util.cutValue 是公共方法,目的是为了将,tHeader 和filterVal 的值转成数组从而生成表格

### Util module
// 截取value值
utils.cutValue = function (target, name) {
 let arr = []
 for (let i = 0; i  p '../../vendor/Export2Excel'); //引入文件  
const tHeader = ['用户名', '姓名', '部门', '职位', '邮箱', '充值']; //将对应的属性名转换成中文 
// const tHeader = []; 
const filterVal = ['userName', 'realName', 'department', 'position', 'email', 'money'];//table表格中对应的属性名    
const list = this.sels;  
const data = this.formatJson(filterVal, list);  
export_json_to_excel(tHeader, data, '列表excel');  
}

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

json对象的大小写转换方法

怎么在微信小程序里做出全局搜索代码高亮提醒

Angular4的router使用详解

立即学习“前端免费学习笔记(深入)”;

以上就是怎么用Vue导出excel表格功能的详细内容,更多请关注php中文网其它相关文章!

WPS Office

这里不仅为大家提供了WPS Office安装包,还有office/word/excel/ppt/wps的零基础入门到精通超全教程,你想学的和不懂的,这里都有!感兴趣的小伙伴快来保存学习吧!


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:怎么用Vue导出excel表格功能;欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!