这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

一、导出静态数据

1、安装 vue-json-excel

npm i vue-json-excel

注意,此插件对node有版本要求,安装失败检查一下报错是否由于node版本造成!

2、引入并注册组件(以全局为例)

import Vue from "vue";
import JsonExcel from "vue-json-excel"; //引入excel插件
Vue.component("downloadExcel", JsonExcel);//注册

3、使用

在template节点下使用download-excel标签即可

    <download-excel class="downloadExcel" :data="dataAttr" types="xls" :fields="fields" :name="exportName"
:worksheet="exportSheet" :header="exportName" :footer="exportFooter" :defaultValue="exportDefaultValue">
<el-button type="success">导出</el-button> //可以无需button
</download-excel>

在data节点下定义数据

dataAttr: [
{
id: 1,
name: '九转大肠',
price: 999,
sellCount: 6,
rating: 100
}],
fields: { // 数据名称及对应的值
编号: 'id',
名称: 'name',
价格: 'price',
销量: 'sellCount',
好评率: {
field: 'rating',
callback: value => `${value}%` // 以对象方式可以对数据做处理
}
},
exportName: '这是表格名称',
exportSheet: '这是表格sheet的名称',
exportHeader: '这是表格的标题',
exportFooter: '这是表格的页脚',
exportDefaultValue: '这是一个默认的数据'

点击导出

二、导出动态数据

如果需要在点击按钮前动态的获取数据,则需要使用fetch属性来指定一个参数。

注意,使用此参数时不能再绑定data参数

以导出一个外卖商品列表为例:

1、为fetch属性绑定了一个回调。

    <download-excel class="downloadExcel" :fetch="getDataAttr" types="xls" :fields="fields" :name="exportName"
:worksheet="exportSheet" :header="exportName" :footer="exportFooter" :defaultValue="exportDefaultValue">
<el-button type="success">导出{{ exportName }}</el-button>
</download-excel>

2、在methods节点下定义方法

getDataAttr() {
const dataAttr = [] //定义导出数据
this.goodsList.forEach((value) => { //进行数据处理
let dataAttrItem = new createExcleData(value.id, value.name, value.price, value.sellCount, value.rating)
//使用引入的createExcleData
dataAttr.push(dataAttrItem) //为导出的数据数组添加数据
})
return dataAttr //数据整理完毕
},

3、新建一个js文件封装一个类创建每条数据

export default class DataAttr {
constructor(id, name, price, sellCount, rating) {
this.id = id;
this.name = name,
this.price = price,
this.sellCount = sellCount,
this.rating = rating;
}
}

4、在组件下引入,然后就可以使用了

import createExcleData from '@/utils/createExcleData' 

goodsList数据如下

点击导出,打开导出文件

本文转载于:

https://juejin.cn/post/7204742703506522171

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

记录--Vue中如何导出excel表格的更多相关文章

  1. vue 纯前端导出 excel 表格

    在开发后台管理系统的时候,很多地方都要用到导出excel 表格,比如将table中的数据导出到本地,那么实现这种需求往往有两种方案: 一.后端开发一个下载链接,前端将这个链接放到 a 标签的 href ...

  2. vue页面原样导出excel表格

    github地址:https://github.com/wuzhiaite/vue-samples 1.excel导出 做过业务系统的知道,进行涉及到excel的导出,列表数据动则几十万,但是也有一部 ...

  3. PowerDesigner 中模型设计导出Excel表格

    今天项目做设计,客户要看数据设计,需要到处Excel表格.去网上搜索下,把使用总结如下: 已经完成设计的pd设计 打开pd,快捷键Ctrl + Shift + X或者Tools>Exectue ...

  4. 【vue】vue中实现导出excel

    1.安装依赖 cnpm install -S file-saver xlsx cnpm install -D script-loader 2.例如在src文件夹中新建一个名为vendor(vendor ...

  5. vue实现前端导出excel表格

    1.在src目录下创建一个文件(vendor)进入Blob.js和Export2Excel.js 2.npm install -S file-saver 用来生成文件的web应用程序 3.npm in ...

  6. vue用ElementUI导出Excel表格

    import axios from 'axios'; import qs from 'qs'; import { message } from 'element-ui';   export const ...

  7. Vue中导出Excel表格方法

    本文记录一下在Vue中实现导出Excel表格的做法.参考度娘上各篇博客,最后实现功能 Excel表格,我的后端返回的是数据流,然后文件名是放进了content-disposition中,前端进行获取. ...

  8. vue中导出Excel表格

    项目中我们可能会碰到导出Excel文件的需求,一般后台管理系统中居多,将table中展示的数据导出保存到本地.当然我们也可以通过一些处理来修改要导出的数据格式,具体需求具体对待. 1.首先我们需要安装 ...

  9. 在vue中导出excel表格

    初学者学习vue开发,想把前端项目中导出Excel表格,查了众多帖子,踩了很多坑,拿出来与大家分享一下经验. 安装依赖 //npm npm install file-saver -S npm inst ...

  10. vue 导出excel表格

    对于涉及到数据比较多的管理后台导出excel 表格这个需求就非常的常见了 所以? vue 怎么到处excel表格的? 有两种办法 1:请求接口后台直接给你的是excel文件,你需要做的就是怎么接收ex ...

随机推荐

  1. CF1834

    A 给出一个由 \(1,-1\) 组成的序列.一次操作可以让一个数变相反. 要多少次操作,才能让整个序列和非负且积等于 \(1\). 大 氵题. B 定义两个数 \(A,B\) 有一个价值:每一位上的 ...

  2. [pwn之路]patchelf之后,加载符号表!

    # 前言 当你在进行二进制漏洞学习和利用时,经常需要使用调试工具来分析和理解程序的内部工作.在之前的交流中,我们提到了如何使用patchelf来修改二进制文件[Pwn之路]根据所给库,获得远程同环境- ...

  3. P2P通讯方式

    概述 实现p2p通讯我们提供两种方式,这两种方式分别是通过客户端直接互通和p2p映射: 无论哪一种,首先设备两端都得部署好fastnat客户端,NAT类型不能是对称类型NAT(Symmetric),否 ...

  4. AIR32F103(二) Linux环境和LibOpenCM3项目模板

    目录 AIR32F103(一) 合宙AIR32F103CBT6开发板上手报告 AIR32F103(二) Linux环境和LibOpenCM3项目模板 AIR32F103(三) Linux环境基于标准外 ...

  5. 关于 websocket 的一些学习

    WebSocket 用于在 Web 浏览器和服务器之间进行任意的双向数据传输的一种技术.WebSocket 协议(位于应用层)基于 TCP 协议实现,包含初始的握手过程,以及后续的多次数据帧双向传输过 ...

  6. FastGateway 发布v0.0.0.5

    FastGateway 发布v0.0.0.5 修复构建错误 修复docker-compose执行目录 修改请求来源分析数据列表展示 update README.md. 增加默认证书 修复构建脚本目录错 ...

  7. 什么是数据同步利器DataX,如何使用?

    转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南 今天给大家分享一个阿里开源的数据同步工具DataX,在Github拥有14.8k的star,非常受欢迎,官网 ...

  8. Jetpack Compose(1) —— Android 全新的 UI 框架

    写在前面 Jetpack Compose 已经不是什么新技术了,Google 早在 2019 年就推出 Jetpack Compose 的首个 alpha 版本,时至今日,相当大比例的国内 Andro ...

  9. 本机复制的内容粘贴不到VMware虚拟机里面的解决办法

    分析 VMware正确安装完linux虚拟机之后,这里以Ubuntu为例,如果你使用的默认配置,正常情况下就可以复制.粘贴和拖拽内容的,双方向都是支持的.如果不能复制和拖拽一般是vmware tool ...

  10. DataGear 制作自定义柱状图条目颜色的数据可视化看板

    DataGear 看板提供了dg-chart-options图表选项配置功能,可自定义样式.位置.显示内容等图表选项,其中的processUpdateOptions回调函数配置项,可以在图表更新数据前 ...