如何使用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是的,您是对的。但是我对数组格式感到困惑。您是对的。我的错。