一、思路:
1、利用二维数组来完成工作表行和单元格得内容填写。
2、后端返回的blob流转成对象,存入标签,然后将标签添加到文本对象,模拟标签进行click下载
二、前端控件
<i-button :size="buttonSize" icon="ios-download-outline" type="primary" @click="exportAllExcel">导出列表->EXCEL </i-button>
TIPS:icon–下载图标,type–主按钮
三、前端数据交互
Tips:返回流,创建a标签,拼接文档,模拟a标签点击
exportAllExcel: function () {
this.$Spin.show();
var param = this.getDetailPara();
var url = '/mhz/xx/export';
var vmm = this;
this.exportExcel(url, param, 'post').then(function (res) {
// 处理返回的文件流
vmm.$Spin.hide();
if (res.status === 200) {
if (res.data.size === 0) {
vmm.$Message.warning('查询的数据为空');
return;
}
//把返回结果转化成blob流,
const blob = new Blob([res.data]);
const fileName = '文件名' + vmm.formartTime(new Date()) + '.xls';
//创建出一个a标签
const a =