数组元素为数组
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();
}