前端实现el-table等表格数据下载导出为xlsx表格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端实现el-table等表格数据下载导出为xlsx表格相关的知识,希望对你有一定的参考价值。

参考技术A 对应导出按钮绑定事件函数如下:

前端实现文件下载功能

在很多后台管理系统里可能会有导出表格,下载表格,下载压缩包等这样的需求。下面说几种简单的下载的方法:

1.最简单的,有文件的地址,直接使用a标签实现下载(通用模板前端本地下载):

    <a href="/user/test/xxxx.xls" download="文件名.xls">点击下载</a>

  但是有个情况,比如txt,png,jpg等这些浏览器支持直接打开的文件是不会执行下载任务的,而是会直接打开文件,这个时候就需要给a标签添加一个属性“download”;
如果再vue项目中需要下载文件需要放在public文件夹下 需要下载的路径是相对于index.html文件路径 否则会提示下载文件未找到

2.window.open()方法,后端提供下载接口:

html:

<button type="button" id="btn1">window.open()方法下载</button>

js:
(最简单:window.location.href="xxxxx后端给的下载地址")
var $eleBtn1 = $("#btn1");


//已知一个下载文件的后端接口:
https://codeload.github.com/douban/douban-client/legacy.zip/master
//方法一:window.open()
$eleBtn1.click(function(){
	var url = "https://codeload.github.com/douban/douban-client/legacy.zip/master";
	window.open(url);
});

3.通过form表单提交的方式:


html:

<button type="button" id="btn2">form方法下载</button>

js:

var $eleBtn2 = $("#btn2");

//已知一个下载文件的后端接口:
https://codeload.github.com/douban/douban-client/legacy.zip/master
$eleBtn2.click(function(){
	var $eleForm = $("<form method=‘get‘></form>");

	$eleForm.attr("action","https://codeload.github.com/douban/douban-client/legacy.zip/master");

	$(document.body).append($eleForm);

	//提交表单,实现下载
	$eleForm.submit();
});

  

以上是关于前端实现el-table等表格数据下载导出为xlsx表格的主要内容,如果未能解决你的问题,请参考以下文章

Vue前端实现excel的导入导出打印功能

数据使用Excel导出下载

el-table表格导出Excel+选中导出+导出重复

js 实现纯前端将数据导出excel两种方式,亲测有效

js 实现纯前端将数据导出excel两种方式,亲测有效

JS实现前端将数据导出excel