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

December 17, 2023
测试
测试
测试
测试
4 分钟阅读

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

及使用都非常简单

一、安装vue-json-excel

npm install vue-json-excel -S
  • 1

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

import JsonExcel from 'vue-json-excel'

Vue.component('downloadExcel', JsonExcel)

三、页面中使用

<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,注意多个词组组成的属性名要加双引号
  • 如果需要自定义导出的数据,可以定义回调函数。
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 "
          }
        ]
      ]
    };
  }

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多