vue-json-excel导出excle表格

时间:2022-07-26
本文章向大家介绍vue-json-excel导出excle表格,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

文档地址

名称

类型

描述

默认值

data

Array

要导出的数据。

fields

Object

您要导出的JSON对象中的字段。如果未提供,则将导出JSON中的所有属性。

export-fields (exportFields)

Object

用于解决其他使用变量字段的组件的问题,例如vee-validate。exportFields的工作原理类似于字段

type

string

MIME类型[xls,csv]

xls

name

string

要导出的文件名。

data.xls

header

string/Array

数据标题。可以是一个字符串(一个标题)或一个字符串数组(多个标题)。

footer

string/Array

数据的页脚。可以是一个字符串(一个页脚)或一个字符串数组(多个页脚)。

default-value (defaultValue)

string

当行没有字段值时,用作备用。

worksheet

string

工作表选项卡的名称。

‘Sheet1’

fetch

Function

进行回调,以在下载之前获取数据(如果已设置),则在按下鼠标后以及下载过程之前立即运行。重要信息:仅在未定义数据属性的情况下有效。

before-generate

Function

在生成/获取数据之前回调以调用方法,例如:显示加载进度

before-finish

Function

在下载框弹出之前进行回调以调用方法,例如:隐藏加载进度

stringifyLongNum

Boolean

字符串化长整数和十进制(解决数字精度丢失的问题),默认值:false

false

escapeCsv

Boolean

这样可以转义CSV值,以解决数字字段中的一些excel问题。但这将用=“和”包裹每个csv数据,以避免您必须将此prop设置为false。默认值:True

true

安装

npm install vue-json-excel

组件导出

import JsonExcel from "vue-json-excel";
  components: {
    "download-excel": JsonExcel,
  },

完整代码

<template>
  <div class="box">
    <download-excel
      :fields="fields"
      :data="tableData"
      name="用户数据"
      type="xls"
    >
      <el-button type="primary" icon="el-icon-download">导出表格</el-button>
    </download-excel>
  </div>
</template>

<script>
import JsonExcel from "vue-json-excel";
export default {
  components: {
    "download-excel": JsonExcel,
  },
  data() {
    return {
      tableData: [],
      fields: {
        日期: "date",
        姓名: "name",
        省份: "province",
        市区: "city",
        地址: "address",
        邮编: "zip",
      },
    };
  },
  mounted() {
    this.moreData();
  },
  methods: {
    moreData() {
      var list = [];
      for (let i = 0; i < 50; i++) {
        list.push({
          date: "2016-05-02",
          name: "王小虎" + i,
          province: "上海",
          city: "普陀区",
          address: "上海市普陀区金沙江路 1518 弄",
          zip: 200000,
        });
      }
      this.tableData = list;
    },
  },
};
</script>
<style lang="less" scoped>
</style>