【uniapp】编译成小程序——导出表格Excel数据,下载Excel数据

907 阅读1分钟

在这里插入图片描述
过程还是比较简单的,结合官网给的几个方法就可以导出了
上代码:

// 点击下载
downLoad(){
	wx.showLoading({ title: "加载中" });
	let filePath = `${wx.env.USER_DATA_PATH}/${+new Date}.xlsx`;//导出的文件名
	uni.request({
		url:url,
		data:prams,
		method:'GET',
		responseType:'ArrayBuffer',
		success:(data) => {
		let fm = wx.getFileSystemManager();//获取文件管理器
		fm.writeFile({//写入文件
			filePath,//文件名
			data,//数据
			success: res =>{
				wx.hideLoading();
				wx.showModal({
				  title: "下载成功",
				  content: "是否打开?",
				  confirmColor: "#0bc183",
				  confirmText: "打开",
				  success(res) {
				    if (res.confirm) {
				      wx.openDocument({//打开文件
				        filePath,//文件名
				        showMenu: true,//右上角是否显示(...)
				        success(res) {
				          console.log(res);
				        },
				      });
				    } else if (res.cancel) {}
				  },
				});
			},
			fail: err => {
			  wx.hideLoading();
			  wx.showModal({
			    title: '提示',
			    content: "文件下载失败",
			    showCancel: false, //是否显示取消按钮
			    success: function (result) {}
			  })
			},
		})
	});
},

接口返回的数据是二进制格式的:
请添加图片描述

注解:
responseType:‘ArrayBuffer’ 获取二进制的返回数据
wx.getFileSystemManager() 获取文件管理器方法
.writeFile() 往文件管理器里面写入文件
wx.openDocument() 打开文件
其他没什么了,都可以看得懂.
📢没了,结束了,是不是很简单呐,如有错误,欢迎留言.如有问题,不吝赐教。
📢如果此篇博文对您有帮助,还请动动小手点赞 👍 收藏 ⭐留言 📝呐~,谢谢 ~ ~