纯JS生成excel文件,无需引入JS库。
基于JSON的数据结构,生成对应的excel文件。
代码如下:
let dataJson = [
{name:1,age:1,adress:1},
{name:2,age:2,adress:2},
{name:2,age:2,adress:2},
{name:2,age:2,adress:2},
];
downData(data,name){
let csvContent=[];
let keyAry = Object.keys(data[0]);
csvContent = data.map(item=>{
let newItem = keyAry.map(item1=>{
return item[item1]
})
return newItem.toString()+'\n'
})
csvContent.unshift(keyAry.toString()+'\n')
const bom = '\uFEFF';
let csvData = bom;
csvContent.forEach(item=>{
csvData+=item
})
const blob = new Blob([csvData],{type:'text/csv;charset=utf-8;'});
const link = document.createElement('a');
if(link.download !== undefined){
link.href = URL.createObjectURL(blob);
link.download = name;
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
},
downData(dataJson,'XXXX年XX月XX日XX报表')
```