关于前端如何导出后台传来的excel接口 小程序怎么导出excel文件

经验直达:

  • 小程序怎么导出excel文件
  • 关于前端如何导出后台传来的excel接口

一、小程序怎么导出excel文件


您好 , 背景
在学习微信小程序的过程中,需要导出excel文件数据,可是却没有后台服务器 , 所以只能够想着使用纯前端去导出excel
使用插件:excel-export
导出思想
将数据封装成excel文件
将excel文件上传到云存储中
将云存储的excel文件以图片的格式下载到本地
修改图片文件后缀为xlsx,成为excel文件
操作
将数据封装成excel文件;将excel文件上传到云存储中
建立云函数(我的云函数名称:uploadexportfile),打开云函数终端,安装excel-export插件 。


二、关于前端如何导出后台传来的excel接口


题主所说的导出指的是让前端去下载后台的Excel还时还要有其他操作呢?
如果单纯去下载,可以基于XMLHttpRequest请求,请求一个服务器或者后端的Excel文件,然后设置responseType为blob二进制流来传输 。例如:
var excelFilePath = 'resources/Excel/importExcel.xlsx';

var xhr = new XMLHttpRequest();
xhr.open('GET', excelFilePath, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
【关于前端如何导出后台传来的excel接口 小程序怎么导出excel文件】var blob = this.response;
}
之后onload里面的blob就是这个Excel文件的二进制流,接下来只要将blob转成文件进行下载就可以了 , JS中有很多开源的第三方类库可以做到,例如filesaver 。如果是用filesaver的话,调用其中的saveAs方法就可以将该blob转成对应文件进行下载
例如
var fileName = "test.xlsx"
saveAs(blob, fileName);
把上述方法加到onload 方法中,前端就会下载一个名为test.xlsx的Excel文件 , 内容就是后端传过来的Excel
如果还要有其他操作例如展示或者在线的编辑 , 就需要一些第三方控件来完成了,比如SpreadJS
上述的方法也是在他们的官方论坛中学到的,参考网址:
网页链接

相关经验推荐