实际上,我已经让这个工作了一次,但后来我失去了代码,无法使它再次工作。
我可以很容易地使用$.get(服务器文件路径)获取文件,它给了我一堆看起来很疯狂的数据…我尝试了各种方法以blob和arraybuffer的形式读取二进制数据,但这些方法都不起作用。
如何将其转换为实际数据,然后转换为类似于d3.parsecsv的json?
我试过以下方法:
$.ajax({
url: url,
method: 'GET',
dataType: 'binary',
processData: false,
responseType: 'arrayBuffer',
}).then(function (data) {
return data
}, function (error) {
alertify.error('There was an error retriving the data');
});
};
它返回的数据与使用$.get(url)返回的数据相同
我试过使用sheets.js
$.get(filePath).then(function(data) {
XLSX.read(data, {Props: {type: "buffer"}})
})
并出现“无法识别的类型[对象对象]”错误。
如果使用类型:“binary”则获取“undefined typeerror:无法读取undefined的属性“0”
我试过用以下方法来操纵它:
var buf = new ArrayBuffer(csvData.length * 2);
var bufView = new Uint16Array(buf);
for (var j = 0; j < csvData.length; j++) {
bufView[j] = csvData.charCodeAt(j);
}
var myData = buf;
我试过使用decoder(“utf-8”),然后使用decoder.decode(csvdata)…。
什么都没做。