导出数据json或者Excel格式

97 阅读1分钟

<a @click="exportdata('json','JSON')">导出JSON格式

<a @click="exportdata('excel','blob')">导出Excel格式

// 导出数据 async exportdata(type, responseType) {

// console.log('执行')

//请求传递的参数

var data = {

Key: this.name,

Audit: Number(this.value),

StartTime: Number(this.StartTime),

EndTime: Number(this.Endtime),

Start: 0,

// Size: 10 }

const res = await downloadDeclaration(data, type, responseType)

// console.log("后断还回 = ", res.data);

var a = document.createElement('a');

if (type == 'json') {

a.href = 'data:application/json;charset=utf-8,\ufeff' +

encodeURIComponent(res.data);

a.download = "Purchase.json";

a.click();

this.$Message.success('导出数据成功');}

if (type == 'excel') {

let blob = new Blob([res.data], {type: "application/vnd.ms-excel;charset=utf-8"});

if (window.navigator.msSaveBlob) {window,navigator.msSaveBlob(blob, this.reportName + ".xls");} else {

let url = window.URL.createObjectURL(blob);

let link = document.createElement("a");

link.style.display = 'none';

link.href = url;

link.download = this.reportName + ".xls";

document.body.appendChild(link);

link.click(); document.body.removeChild(link);}

this.$Message.success('导出数据成功');

console.log(typeof(res.data));}},

//请求接口

//下载报单数据 export function downloadDeclaration(data,format,responseType) { // console.log('执行json') const url = window.ServiceAddress + 'LMService/SaaS/Distribute/Purchase/Download?format='+format

var instance = axios.create({

headers: { 'Content-Type': 'application/json', 'Authorization': Cookies.get('token') }, // responseType: 'blob',excel下载是blob,默认是json responseType:responseType

})

return instance.post(url, data).then((res) => {

return Promise.resolve(res)

}).catch(error => { return Promise.resolve(error) }) }