我正在使用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,因此必须采取另一种策略 被使用。
您有什么建议吗?
谢谢大家