我以JavaScript对象的形式将数据放在前端。 现在我需要将其推送到 Excel 中,并在用户单击按钮时下载它。 我正在使用下面的代码,
var blob = new Blob([ArrayOfData], {type: 'application/vnd.ms-excel'});
var downloadUrl = URL.createObjectURL(blob);
var a = document.createElement("a");
a.style.display = "none"
a.href = downloadUrl;
a.download = "data.csv";
document.body.appendChild(a);
a.click();
成功部分:数据被推送到excel中并下载文件。
失败:所有数据都添加到同一行,不同的列中
问题:是否可以在同一列中逐行添加数据?
a.click();
假设ArrayOfData
是一个包含多个值数组的数组。
[
[1, 33, 42, 13],
...
]
有一种更简单的方法可以实现这一点,例如:
var blob = new Blob([ArrayOfData.join('n')], {type: 'application/vnd.ms-excel'});
在CSV中,列使用,
分隔,行使用n
或换行符分隔(HTML中的<br>
(。 所以我们使用它连接所有子数组。