使用 JavaScript blob 的 Excel 下载不是按行格式化的



我以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>(。 所以我们使用它连接所有子数组。

相关内容

最新更新