如何使用javascript编写csv文件?

如何使用javascript编写csv文件?,javascript,Javascript,我正在动态创建一个数组。下面的数组就是一个例子 textarray = [["label first","details of label 1"],["label sec","details of label 2"],["label 3","details of label 3"],["label 4","details of label 4 and 3"],["label 5","details of label 5"],["label 6","details of label 6"],["l

我正在动态创建一个数组。下面的数组就是一个例子

textarray = [["label first","details of label 1"],["label sec","details of label 2"],["label 3","details of label 3"],["label 4","details of label 4 and 3"],["label 5","details of label 5"],["label 6","details of label 6"],["label 7","details of label 7"],["label 8","details of label 8"],["label 9","details of label 9"]]
我的最终目标是生成onclick on save按钮数组,它应该要求我以EXCEL格式保存/打开。所以我写了这样的东西

var a = document.createElement('a');
a.href     = 'data:attachment/csv;charset=utf-8,' +textarray;
a.target   = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();
            **column1**   **column2**   ...........
**row1**    labelfirst  detailsoflabel1  labelsec  detailsoflabel2
               **column1**       **column2**

 **row1**      label first    details of label 1

 **row2**      label sec      details of label 2

    .
    .
    .
我收到保存或打开csv文件的提示,但如果我打开该文件,内容将不符合预期(未正确显示)

是这样来的,

var a = document.createElement('a');
a.href     = 'data:attachment/csv;charset=utf-8,' +textarray;
a.target   = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();
            **column1**   **column2**   ...........
**row1**    labelfirst  detailsoflabel1  labelsec  detailsoflabel2
               **column1**       **column2**

 **row1**      label first    details of label 1

 **row2**      label sec      details of label 2

    .
    .
    .
一行应该只包含一个元素,如果您看到上面的输出,则单词之间没有空格(请参见数组)。应该是这样,

var a = document.createElement('a');
a.href     = 'data:attachment/csv;charset=utf-8,' +textarray;
a.target   = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();
            **column1**   **column2**   ...........
**row1**    labelfirst  detailsoflabel1  labelsec  detailsoflabel2
               **column1**       **column2**

 **row1**      label first    details of label 1

 **row2**      label sec      details of label 2

    .
    .
    .
请帮助我。

**使用以下命令:**
**Use this:**
<html>
<script type="text/javascript">
function createCSV() {  
csvRows = [["label first","details of label 1"],["label sec","details of label 2"],["label 3","details of label 3"],["label 4","details of label 4 and 3"],["label 5","details of label 5"],["label 6","details of label 6"],["label 7","details of label 7"],["label 8","details of label 8"],["label 9","details of label 9"]];

    var csvString = csvRows.join("%0A");
    var a         = document.createElement('a');
    a.href        = 'data:attachment/csv,' + csvString;
    a.target      = '_blank';
    a.download    = 'myFile.csv';
    document.body.appendChild(a);
    a.click();

}
</script>
<body>
    <form action="" method="post">
    <input type="button" value="Create" onclick="createCSV()">
    </form>
</body>
</html> 
函数createCSV(){ csvRows=[“标签优先”,“标签1详细信息],[“标签秒”,“标签2详细信息],[“标签3”,“标签3详细信息],[“标签4”,“标签4和3详细信息],[“标签5”,“标签5详细信息],[“标签6”,“标签6详细信息],[“标签7”,“标签7详细信息],[“标签8”,“标签8详细信息],[“标签9”,“标签9详细信息]; var csvString=csvRows.join(“%0A”); var a=document.createElement('a'); a、 href='数据:附件/csv',+csvString; a、 目标='u blank'; a、 下载='myFile.csv'; 文件.正文.附件(a); a、 单击(); }
可能重复的No没有帮助,因为我对解析csv数据不感兴趣。这里我正在创建csv。@user3136030--我认为这里的主要问题是您没有转义/引用任何内容或在行之间添加任何换行符。@mgilson是的,您是对的。但是我对数组格式感到困惑。您是对的。我的错。