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

Converting variable in javascript to a CSV file

本文关键字:CSV 文件 转换 变量 javascript      更新时间:2023-09-26

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

item = "Pencil";
amount = 5;
entry = item + "," + amount;
*export entry to csv

所以"entry"变量应该采用正确的格式保存为逗号分隔的文件。是否有一些命令将接受该变量并将其保存为csv或任何其他格式,以便在电子表格中方便地打开以供以后使用?条目变量将更改,如果csv文件已经存在,则需要将新信息附加到该文件中。假设我们还有:

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

铅笔5
纸,25

我已经通过其他问题做了一些搜索,但大多数人似乎都在试图做更复杂的事情(例如,处理服务器与客户端问题),而我只是想弄清楚如何获得数据,我在我自己的电脑上用javascript工作到一个可保存的文件。但似乎很多问题都不是这样的。我相信有一个简单的答案,希望只是一个或两个命令。然而,我已经费力地读了很多不太清楚的半相关的帖子,所以我认为这将会更快。

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

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

正如我所说的,它需要一个有效的FileSaver实现来处理对window.saveAs()的调用。查看Eli Grey的解决方案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");