Vue将后台返回的数据导出为Excel表格

Vue将后台返回数据导出Excel表格

话不多说,先上效果:
在这里插入图片描述
在这里插入图片描述

第一步:下载安装

npm install vue-json-excel

第二步:main.js中引入

import JsonExcel from 'vue-json-excel'
Vue.component('downloadExcel', JsonExcel)

第三步:添加按钮触发导出

在需要使用 “导出为Excel表格” 的页面添加导出按钮。并且添加点击事件,如下@click=“exportData” 。
请先直接复制以下代码:

<!-- 导出按钮 -->
   <download-excel
        class = "export-excel-wrapper"
        :data = "json_data"
        name = "江下产品推广链接.xls">
        <el-button @click="exportData" type="primary">下载全部推广链接</el-button>
    </download-excel>

第四步:处理后台返回的数据(重点,请耐心看完)

1.定义一个数组保存后台返回的数据
在这里插入图片描述

2.请求后台数据
3.请求结果赋值到刚刚定义的this.tableData中
4.将this.tableData输出到控制台观察
在这里插入图片描述
5.在后台返回的数据中,我只需要导出箭头所指的三条数据。在这里插入图片描述
6.定义一个数组json_data,注意要与第三步代码中:data内容一致。
在这里插入图片描述
在这里插入图片描述
7.想办法将数组json_data变成以下这种格式:重点!!!

[
	{
		"产品名称": xxx,
		"产品介绍": xxx,
		"推广链接": xxx
	},
	{
		"产品名称": xxx,
		"产品介绍": xxx,
		"推广链接": xxx
	},
	{
		"产品名称": xxx,
		"产品介绍": xxx,
		"推广链接": xxx
	},
	……往下以此类推……
]

上面的“产品名称”、“产品介绍”、“推广链接”将会对应Excel的表头。
后面的xxx对应表头下相应的数据。
在这里插入图片描述
我是这样处理的:
提示:大家按实际情况处理数据,因为后台返回的数据格式可能与我给大家看的不一样。反正记住最终要变成[{…}, {…}, {…}]这种格式!!!在这里插入图片描述

第五步:验证导出Excel结果

在这里插入图片描述
在这里插入图片描述
成功!!!
在这里插入图片描述
在这里插入图片描述

  • 15
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
导出Excel 表格样式可以通过修改导出的 HTML 表格的 CSS 样式来实现,具体步骤如下: 1. 在 Vue 组件中导出 Excel 表格时,将表格数据渲染为 HTML 表格,并将其放在一个隐藏的 div 中。 ```javascript exportExcel() { const table = document.getElementById('table') const html = table.outerHTML const blob = new Blob([html], { type: 'application/vnd.ms-excel' }) const link = document.createElement('a') link.download = 'data.xls' link.href = URL.createObjectURL(blob) link.click() } ``` 2. 在导出 Excel 表格的方法中,获取到表格元素并将其转换为 HTML 字符串。 3. 在导出的 HTML 字符串中,找到表格元素所在的位置,即 `<table>` 标签。 4. 在 `<head>` 标签中添加样式表,并根据需要添加自定义样式。例如,可以设置表格的背景色、字体和边框等。 ```javascript exportExcel() { const table = document.getElementById('table') const html = table.outerHTML const style = ` <style> table { background-color: #f9f9f9; font-family: Arial, sans-serif; border-collapse: collapse; width: 100%; } th, td { border: 1px solid #ddd; padding: 8px; text-align: left; } th { background-color: #4CAF50; color: white; } </style> ` const blob = new Blob([`${style}${html}`], { type: 'application/vnd.ms-excel' }) const link = document.createElement('a') link.download = 'data.xls' link.href = URL.createObjectURL(blob) link.click() } ``` 5. 将样式表添加到 HTML 字符串中,并将其与表格 HTML 字符串合并为一个字符串。 6. 通过 Blob 对象将 HTML 字符串转换为 Excel 文件,并通过 a 标签的 click 事件触发下载。 这样就可以在导出 Excel 表格时添加自定义样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值