2 回答
TA贡献1815条经验 获得超13个赞
如果您有标题 Col1、Col2、Col3;
function downloadCsv(){
var rows= [{'col1':10,'col2':10,'col3':10},{'col1':10,'col2':10,'col3':10},
{'col1':10,'col2':10,'col3':10},{'col1':10,'col2':10,'col3':10}]
var headers = "col1,col2,col3\n";
rows.forEach((row)=>{
var values = []
Object.keys(row).forEach((key)=>{
if(Array.isArray(row[key])){
var type = [];
row[key].forEach(element => {
type.push(element.name)
});
console.log(type)
values.push("\"" + type.join() + "\"")
}else{
typeof(row[key]) == "string" ? values.push("\"" + row[key] + "\"") : (row[key] == null ? values.push("") : values.push(row[key].toString()))
}
});
headers = headers + values.join(",") + "\n"
})
download('CSV', 'Payroll.csv', 'text/csv', headers)
}
如您所见,我们必须知道我们的 JSON 的“键”是什么,为了动态创建它们,我们获取对象的键并循环它们,并创建我们想要的 csv 格式。
工作 JsFiddle https://jsfiddle.net/36o8cryu/
添加回答
举报