gpt4 book ai didi

javascript - 创建 csv 文件时,Blob 在 typescript 中附加逗号

转载 作者:行者123 更新时间:2023-12-03 01:05:12 34 4
gpt4 key购买 nike

我正在尝试从 Angular 6 Web 应用程序导出数据。

我有一个字符串数组,其中每个字符串都是一个 csv 行,格式如下:

var csvLines = ['val1,val2\n', 'val3,val4\n'...];

将所需的所有数据添加到数组后,我将其写入控制台:

enter image description here这看起来不错...

现在我不想将其转换为 blob 并将其下载为 .CSV 文件。

下载没问题,但输出格式错误。

当我运行以下代码时:

          const blob = new Blob([csvLines], {type: 'text/csv;encoding:utf-8'});
const reader = new FileReader();
reader.onload = () => {
console.log(reader.result);
};
reader.readAsText(blob);

我得到这个输出。

注意除了第一行之外的每一行都附加的逗号 - 这弄乱了我的 csv。 enter image description here

谁能告诉我为什么会发生这种情况,以及如何禁用逗号附加?

我尝试使用 text/plain 作为 mimetype 创建 Blob,并且不使用编码,但仍附加逗号。

最佳答案

因为您将 csvLines 作为 [csvLines] 传递给 new Blob(..),所以您正在传递一个包含数组的数组。看起来子数组是使用逗号连接的。只需使用 new Blob(csvLines, { type: 'text/csv;encoding:utf-8' }); 就可以了。

const csvLines = ['val1,val2\n', 'val3,val4\n'];
const blob = new Blob(csvLines, { type: 'text/csv;encoding:utf-8' });
const reader = new FileReader();
reader.onload = () => {
console.log(reader.result);
};
reader.readAsText(blob);

关于javascript - 创建 csv 文件时,Blob 在 typescript 中附加逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52440083/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com