js将数组导出为csv并设置换行为crlf
时间: 2024-02-21 09:01:12 浏览: 107
你可以使用以下代码将数组导出为csv文件并设置换行为crlf:
```javascript
function convertToCSV(arr) {
const header = Object.keys(arr[0]).join(',');
const csv = arr.map(row => Object.values(row).join(',')).join('\r\n');
return header + '\r\n' + csv;
}
const data = [
{ name: 'John', age: 30, city: 'New York' },
{ name: 'Mary', age: 25, city: 'Los Angeles' },
{ name: 'Bob', age: 40, city: 'Chicago' }
];
const csvContent = convertToCSV(data);
const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
const link = document.createElement("a");
if (link.download !== undefined) {
const url = URL.createObjectURL(blob);
link.setAttribute("href", url);
link.setAttribute("download", "data.csv");
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
```
在这个例子中,我们定义了一个`convertToCSV`函数,它将一个包含对象的数组转换为csv格式的字符串。CSV文件的第一行是标题,后面的行是数据。我们使用`Object.keys()`和`Object.values()`函数来提取标题和数据,并使用`join()`函数将它们组合成csv格式的行。在最后,我们将csv字符串放入一个Blob对象,并创建一个链接来下载它。注意到我们使用了`\r\n`来表示换行,这是Windows操作系统中的换行符,也就是CRLF。
阅读全文