将javascript中的变量转换为CSV文件

将javascript中的变量转换为CSV文件,javascript,csv,Javascript,Csv,基本上,我有一个字符串变量,由两个其他变量组成,用逗号分隔: item = "Pencil"; amount = 5; entry = item + "," + amount; *export entry to csv 因此,“entry”变量应采用正确的格式,以保存为逗号分隔的文件。是否有一些命令可以接受此变量并将其保存为csv格式,或在电子表格中轻松打开以供以后使用的任何其他格式?条目变量将更改,如果csv文件已经存在,则需要将新信息附加到csv文件中。如果我们也有: item = "Pa

基本上,我有一个字符串变量,由两个其他变量组成,用逗号分隔:

item = "Pencil";
amount = 5;
entry = item + "," + amount;
*export entry to csv
因此,“entry”变量应采用正确的格式,以保存为逗号分隔的文件。是否有一些命令可以接受此变量并将其保存为csv格式,或在电子表格中轻松打开以供以后使用的任何其他格式?条目变量将更改,如果csv文件已经存在,则需要将新信息附加到csv文件中。如果我们也有:

item = "Paper";
amount = 25;
entry = item + "," + amount;
*export entry to csv
生成的csv文件应为:

铅笔,5支
纸张,25


我在其他问题上做了一些搜索,但大多数人似乎都在尝试做更复杂的事情(例如,处理服务器端和客户端问题),而我只是想弄清楚如何将我在自己的计算机上使用的javascript数据保存到一个可保存的文件中。但似乎很多问题都不是这样问的。我相信有一个简单的答案,希望只有一两个命令。然而,我已经浏览了很多不太清楚的半相关帖子,所以我觉得这样会更快

使用一些
FileSaver
实现是完全可能的。我相信它存在于IE10上,但在其他浏览器上仍然需要一个垫片

我已经编写了一个轻量级的客户端CSV生成器库,可能会派上用场。在上查看(向下滚动至标题,标题为客户端CSV文件生成器)

正如我所说,它需要一个运行正常的
FileSaver
实现来处理对
window.saveAs()的调用。查看Eli Grey的解决方案

就位后,您只需动态生成并保存CSV文件,如下所示:

var propertyOrder = ["name", "age", "height"];

var csv = new Csv(propertyOrder);

csv.add({ name : "Anders",
          age : 38,
          height : "178cm" });

csv.add({ name : "John Doe",
          age : 50,
          height : "184cm" });

csv.saveAs("people.csv");

Javascript实际上没有访问文件系统的权限,因此服务器端代码通常是保存文件的首选方式,但这只会将文件保存在服务器上……用户可以下载这些文件。Felix的可能副本,这个问题类似,但似乎没有明确的答案,我也不确定答案是否最新。但主要的问题是追加文件,我还没有看到真正解决的问题。它仍然是一样的。您必须使用flash或创建数据URL。无法附加到硬盘上下载的现有文件。您只能在页面上附加到自己的数据并创建新文件。