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

时间:2013-03-20 20:17:04

标签: javascript csv

基本上我有一个字符串变量,它由另外两个用逗号分隔的变量组成:

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工作到一个可保存的文件。似乎并非如此问题。我确信那里有一个简单的答案,希望只有一两个命令。但是,我一直在涉及很多不太清楚的半相关帖子,所以我认为这会更快。

1 个答案:

答案 0 :(得分:0)

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

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

正如我所说,它需要一个有效的FileSaver实现来处理对window.saveAs()的调用。查看Eli Gray在http://eligrey.com/blog/post/saving-generated-files-on-the-client-side

上的解决方案

在适当的位置,您只需动态生成并保存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");