前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VUE中使用vue-json-excel超级方便导出excel表格数据

VUE中使用vue-json-excel超级方便导出excel表格数据

原创
作者头像
IT工作者
发布2022-02-21 17:38:56
发布2022-02-21 17:38:56
7K10
代码可运行
举报
文章被收录于专栏:程序技术知识程序技术知识
运行总次数:0
代码可运行

在项目开发时免不了有时会用到表格数据导出excel的功能,以前会用file-saver xlsx script-loader来导出,而且配置非常麻烦,现在用vue-json-excel配置VUE中使用vue-json-excel超级方便导出excel表格数据

及使用都非常简单

一、安装vue-json-excel

代码语言:javascript
代码运行次数:0
运行
复制
npm install vue-json-excel -S
  • 1

二、main.js里面引入并注册使用

代码语言:javascript
代码运行次数:0
运行
复制
import JsonExcel from 'vue-json-excel'

Vue.component('downloadExcel', JsonExcel)

三、页面中使用

代码语言:javascript
代码运行次数:0
运行
复制
<download-excel
    class = "export-excel-wrapper"
    :data = "json_data"
    :fields = "json_fields"
    name = "filename.xls">
    <!-- 上面可以自定义自己的样式,还可以引用其他组件button -->
    <!-- <el-button type="primary" size="small">导出EXCEL</el-button> -->
</download-excel>

在这里说明一下组件的各个属性

  • json_data:需要导出的数据
  • json_fields:自主选择要导出的字段,若不指定,默认导出全部数据中心全部字段

属性名

类型

描述

data

Array

需要导出的数据,支持中文

fields

Object

定义需要导出数据的字段

name

String

导出excel的文件名

type

String

导出excel的文件类型(xls,csv),默认是xls

下面给个实例

注意以下几点

  • json_fields里面的属性是excel表每一列的title,注意多个词组组成的属性名要加双引号
  • 如果需要自定义导出的数据,可以定义回调函数。
代码语言:javascript
代码运行次数:0
运行
复制
data() {
    return {
      json_fields: {
        "Complete name": "name",    //常规字段
        Telephone: "phone.mobile", //支持嵌套属性
        "Telephone 2": {
          field: "phone.landline",
                    //自定义回调函数
          callback: value => {
            return `Landline Phone - ${value}`;
          }
        }
      },
      json_data: [
        {
          name: "Tony Peña",
          city: "New York",
          country: "United States",
          birthdate: "1988-03-15",
          phone: {
            mobile: "1-338-888-8888",
            landline: "(541) 754-3010"
          }
        },
        {
          name: "Thessaloniki",
          city: "Athens",
          country: "Greece",
          birthdate: "1987-11-22",
          phone: {
            mobile: "+1 333 888 8888",
            landline: "(2741) 2621-244"
          }
        }
      ],
      json_meta: [
        [
          {
            " key ": " charset ",
            " value ": " utf-8 "
          }
        ]
      ]
    };
  }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装vue-json-excel
  • 二、main.js里面引入并注册使用
  • 三、页面中使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档