1

实际上,我曾经让这个工作过,但后来我丢失了代码,无法让它再次工作。

我可以使用 $.get(server filepath) 很容易地获取文件,它给了我一堆看起来很疯狂的数据......我尝试了各种方法来读取二进制数据作为 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"}}) 
})

并得到“无法识别的类型 [object Object]”错误。

如果我使用 type: "binary" 我得到 "undefined TypeError: Cannot read property '0' of undefined"

我尝试使用以下方法对其进行操作:

                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;

我试过使用解码器(“utf-8”),然后使用decoder.decode(csvData)......

没有得到任何工作。

4

0 回答 0