2014-01-15 1 views
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 в массив?xls Строка в массив в JavaScript

+0

вам необходимо добавить в тег яваскрипта к этому, а также положить его в соответствующих сегментах кода – Fallenreaper

+0

@ user3178816 Ссылка не работает – agershun

ответ

1

Вы можете посмотреть на Alasql «s CSV парсер, который может преобразовать CSV и TSV строки в массив:

  • CSV and TSV parsers code (извините, я не могу поставить весь код ее из-за размера)

или вы можете использовать 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 
}); 
Смежные вопросы