// 输出base64编码
const base64 = s => window.btoa(unescape(encodeURIComponent(s)));
const tableToExcel = async (jsonData) => {
return new Promise(resolve => {
try {
console.log('start', jsonData)
let str = '
'
Object.keys(jsonData[0]).forEach(name => {
const tdStr = `
${name}`
str += tdStr
})
str += '
'
for (let i = 0; i < jsonData.length; i++) {
str += '';
for (const key in jsonData[i]) {
// 增加\t为了不让表格显示科学计数法或者其他格式
str += `| ${jsonData[i][key] + '\t'} | `;
}
str += '
';
}
// Worksheet名
const worksheet = '用户质量分'
const uri = 'data:application/vnd.ms-excel;base64,';
// 下载的表格模板数据
const template = `
`;
console.log('str', str)
// 下载模板
window.location.href = uri + base64(template);
resolve(true)
}
catch (r) {
console.log(r, 'r')
resolve(false)
}
})
};
export async function exportExcel(tableData) {
return new Promise(async (resolve) => {
try {
await tableToExcel(tableData)
resolve(true)
}
catch (r) {
console.log(r, 'r')
resolve(false)
}
})
}