美文网首页vue插件
vue-xlsx 导出数据公共组件

vue-xlsx 导出数据公共组件

作者: 郝艳峰Vip | 来源:发表于2018-11-01 15:05 被阅读0次

前沿


在项目实现过程中,思来想去还是将其封装为公共的组件比较好,于是就开始了。
新建一个公共的组件:ExportData文件夹下边的index.vue,里边的注释都写好了。

<template>
    <el-button type="warning"
               ref="btn" :disabled="isForBidden"
               @click='ExportData'>导出数据</el-button>
</template>

<script>
export default {
  //   tHeaderFather: [], //导出数据的header
  //   ExportListsFather: [] //导出数据的all
  //   filterArrayLists: [], //导出数据的过滤条件
  //   ExportFileName:"",    //导出的文件的名字
//   isForBidden: boolean,    //是否禁止导出按钮
  props: ["tHeaderFather", "ExportListsFather", "filterArrayLists","ExportFileName","isForBidden"],
  data() {
    return {
      //模板勿删
      list: [
        {
          author: "Carol",
          comment_disabled: true,
          content_short: "我是测试数据",
          display_time: "1974-06-19 10:01:57",
          forecast: 71.85,
          id: 1,
          importance: 2,
          pageviews: 1670,
          reviewer: "Ruth",
          status: "deleted",
          timestamp: 1126391703464,
          title: "哦i啥v就开始对方能看出来市场v恐龙世界",
          type: "JP"
        }
      ],
      listLoading: true,
      downloadLoading: false,
      filename: "",
      autoWidth: true
    };
  },
  methods: {
    ExportData() {
      console.log("导出数据");
      import("@/vendor/Export2Excel").then(excel => {
        // const tHeader = ["Id", "Title", "Author", "Readings", "Date"];    表格的表头
        // const filterVal = [
        //   "id",
        //   "title",
        //   "author",
        //   "pageviews",
        //   "display_time"
        // ]; //表格中数据与表头字段相匹配的字段
        const tHeader = this.tHeaderFather;
        const filterVal = this.filterArrayLists;
        const list = this.ExportListsFather; //导出数据的all
        const data = this.formatJson(filterVal, list);
        excel.export_json_to_excel({
          header: tHeader,
          data,
          filename: this.ExportFileName,
          autoWidth: this.autoWidth
        });
        // this.downloadLoading = false;
      });
    },
    //对数据与表头字段进行匹配
    formatJson(filterVal, jsonData) {
      return jsonData.map(v =>
        filterVal.map(j => {
          return v[j];
        })
      );
    }
  }
};
</script>

<style scoped>
</style>

调用页面

        <!-- 导出数据 -->
          <ExportData :tHeaderFather="tHeaderFather"
                      :isForBidden="isForBiddenExportData"
                      :ExportListsFather="ExportListsFather"
                      :filterArrayLists="filterArrayLists"
                      :ExportFileName="ExportFileName"></ExportData>
然后再data里边设置好这些数据就好了。
详情设置请看导出的详情,下方有链接

详情参考Vue-xlsx excel文件导出折腾小记

相关文章

  • vue-xlsx 导出数据公共组件

    前沿 在项目实现过程中,思来想去还是将其封装为公共的组件比较好,于是就开始了。新建一个公共的组件:ExportDa...

  • 我的 Android 组件化之路

    结构图 其中路由数据组件为上层业务组件必须要依赖的库,独立功能组件和公共 UI 组件可以根据需求选择是否依赖。公共...

  • echarts 多系列柱状图

    title标题 legend 图例组件 tooltip提示框组件 toolbox 工具栏。 内置有导出图片,数据视...

  • React-Native基础知识

    1. 组件的导入导出 1.1 组件的导出 组件的导出使用关键字export default 1.2 组件的导入 组...

  • sula 的 actionsRender 中使用 react-c

    拆分需求 使用了 sula 的 Table 组件 Table 组件可以多选 选中其中几行数据,并点击“导出CSV”...

  • 【Vue】组件

    Vue的两大核心 数据驱动 - 数据驱动界面显示 模块化 - 复用公共模块,组件实现模块化提供基础 组件基础 组件...

  • 2019-12-01

    楼盘表核心功能: 文件上传,文件预览,查看楼盘表数据我做的事情:面包屑公共组件开发,文件上传公共组件开发 项目难点...

  • (十八)Redux(1)

    Redux 把公共数据都放在 store 这个公用的存储空间中,组件尽量少放数据。 一、.当一个组件想要去改变数据...

  • 工作中的一些规范总结

    Web前端页面规范化和交互规范 1.组件划分:组件分为公共组件、页面组件 1.1公共组件 公共组件一般是页面公用...

  • React-Native 导出 iOS 中自定义组件的方法

    要导出的原生组件是一个走势图的组件。 新建一个类,导出该组件 js 中新建一个 js 文件,对导出的组件进行封装 ...

网友评论

    本文标题:vue-xlsx 导出数据公共组件

    本文链接:https://www.haomeiwen.com/subject/lkdxxqtx.html