如何使用d3.js将.xls文件转换为.csv或json

时间:2019-07-05 11:38:03

标签: javascript d3.js xls

我正在使用d3.js来构建图表。我的数据集是一个.xls文件;但d3.js可以读取.csvjson文件。我尝试使用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,因此必须采取另一种策略   被使用。

您有什么建议吗?

谢谢大家

0 个答案:

没有答案