0
String.prototype.splitCSV = function(sep) {
  for (var foo = this.split(sep = sep || ","), x = foo.length - 1, tl; x >= 0; x--) {
    if (foo[x].replace(/"\s+$/, '"').charAt(foo[x].length - 1) == '"') {
      if ((tl = foo[x].replace(/^\s+"/, '"')).length > 1 && tl.charAt(0) == '"') {
        foo[x] = foo[x].replace(/^\s*"|"\s*$/g, '').replace(/""/g, '"');
      } else if (x) {
        foo.splice(x - 1, 2, [foo[x - 1], foo[x]].join(sep));
      } else foo = foo.shift().split(sep).concat(foo);
    } else foo[x].replace(/""/g, '"');
  } return foo;
};

此代码是将 csv 字符串转换为数组。我的问题是如何将 xls 和 tsv 字符串转换为数组?

4

1 回答 1

1

您可以查看Alasql的 CSV 解析器,它可以将 CSV 和 TSV 字符串转换为数组:

或者您可以使用 Alasql 将数据从 CSV、TSV、XLS 或 XLSX 文件直接加载到 JavaScript:

alasql('SELECT * FROM XLSX("mydata.xlsx")',[], function(res){ 
    // do something
});

alasql('SELECT * FROM TSV("mydata.tsv", {headers:true})',[], function(res){ 
    // do something
});
于 2014-12-21T07:37:29.350 回答