Я использую d3.js
для построения графиков. Мой набор данных - это файл .xls
; но d3.js
может читать .csv
или json
файлы. Я пытался использовать SheetJS
для преобразования файла в .csv
, но браузер не поддерживает функцию ReadFile
; это можно использовать только на сервере.
var workbook = XLSX.readFile('data/file.xls');
var sheet_name_list = workbook.SheetNames;
sheet_name_list.forEach(function(y) {
var worksheet = workbook.Sheets[y];
var headers = {};
var data = [];
for(z in worksheet) {
if(z[0] === '!') continue;
//parse out the column, row, and value
var tt = 0;
for (var i = 0; i < z.length; i++) {
if (!isNaN(z[i])) {
tt = i;
break;
}
};
var col = z.substring(0,tt);
var row = parseInt(z.substring(tt));
var value = worksheet[z].v;
//store header names
if(row == 1 && value) {
headers[col] = value;
continue;
}
if(!data[row]) data[row]={};
data[row][headers[col]] = value;
}
//drop those first two rows which are empty
//data.shift();
//data.shift();
console.log(data);
});
но ошибка:
Ошибка: невозможно получить доступ к файлу data / file.xls
В другом ответе:
readFile доступен только в серверных средах. Браузеры не имеют
API для чтения произвольных файлов с заданным путем, поэтому другая стратегия должна
использоваться.
У вас есть какие-нибудь идеи, чтобы предложить?
Спасибо всем