数组元素为数组
var data = [ ["rahul", "delhi", "accounts dept"], ["rajeev", "UP", "sales dept"]];exportData(data);function exportData(data) { let csvContent = "data:text/csv;charset=utf-8,"; data.forEach(function(rowArray) { let row = rowArray.join(","); csvContent += row + "\r\n"; }); // 或者使用map及箭头函数可以让代码更简短 // csvContent = "data:text/csv;charset=utf-8," + data.map(e => e.join(",")).join("\n"); let encodedUri = encodeURI(csvContent); // window.open(encodedUri); let link = document.createElement("a"); link.setAttribute("href", encodedUri); link.setAttribute("download", "my_data.csv"); document.body.appendChild(link); link.click();}
数组元素为对象
var data = [ { name: 'jack', age: 20 }, { name: 'rose', age: 18 },];exportData(data);function exportData(data) { let csvContent = "data:text/csv;charset=utf-8,"; data.forEach(function(row, index) { // 将对象元素的属性名称作为表头 if (index == 0) { csvContent += Object.keys(row).join(",") + "\r\n"; } csvContent += Object.values(row).join(",") + "\r\n"; }); let encodedUri = encodeURI(csvContent); // window.open(encodedUri); let link = document.createElement("a"); link.setAttribute("href", encodedUri); link.setAttribute("download", "my_data.csv"); document.body.appendChild(link); link.click();}