vue 下载Excel 文件

本文档详细介绍了如何在Vue项目中使用vue-json-excel插件来实现从JSON数据生成并下载Excel文件。首先,通过npm安装插件,然后在main.js中引入并注册为全局组件。接着,创建一个公共组件downloadExcel,通过props接收数据并处理成适合Excel格式的格式。最后,在需要使用的地方引入并配置组件属性,如文件名、表头和字段映射。点击按钮即可触发下载操作。
摘要由CSDN通过智能技术生成

vue 下载Excel 文件 vue-json-excel

1.安装
npm install vue-json-excel -S
2.引入
在mian.js中
	//引入 导出Excel vue-json-excel      
import JsonExcel from "vue-json-excel";
Vue.component("downloadExcel", JsonExcel);
3.构建外部-公共组件 downloadExcel

通过传值的方式,传入参数。参考父子组件传值

<template>
 <!-- name="导出的文件名字.xls" -->
 <download-excel
   :fetch="fetchData"
   :fields="json_fields"
   worksheet="My Worksheet"
   :name="json_name"
   class="excel"
 >
   <el-button size="mini" class="el-icon-download"></el-button>
 </download-excel>
</template>


<script>
export default {
 props: {
   list: Array,
   json_fields: Object,
   json_name: String,
 },
 data() {
   return { };
 },
 methods: {
   fetchData() {
     let excelList = [];
     console.log("this.list");
     console.log(this.list);
     //this.list是从后台接口获取的一组JSON数据(注意:使用forEach前,先判断数组存不存在!)
     this.list.forEach((item) => {
       excelList.push(item);
     });
     console.log("excelList");
     console.log(excelList);
     return excelList;
   },
 },
};
</script>

<style lang="less" scoped>
.excel {
 display: inline-block;
}
</style>
4.使用公共组件

引入

import downloadExcel from "@/components/downloadExcel.vue";

定义

components: { downloadExcel},

使用在 vue 页面中

<!-- Excel -->
          <downloadExcel
            :list="list"
            :json_fields="json_fields"
            :json_name="json_name"
          />

相关参数。json_fields是下载的时候对应的 表头和字段。json_name是下载时候的名字。list是table表中绑定的数据。

json_fields: {
        户主姓名: "Name",
        户主证件类型: "Id_Type",
        户主证件号码: {	//身份证号码长度 太长,变成科学计数法,通过将其变为字符串来解决
          field: "Id_No",
          callback: value => {
            return "&nbsp;" + value;
          }
        },
        // 状态: {
        //   field: "Status",
        //   callback: (value) => {
        //     return value === true ? "启用" : "禁用";
        //   },
        // },
      },
      json_name: "房屋图.xls",

点击按钮下载就行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值