Разбор двоичного файла в JSON из файла Excel xlsb в Javascript
Я действительно однажды заставил это работать, но потом я потерял код, чтобы сделать это, и не смог снова заставить его работать.
Я могу довольно легко получить файл, используя $.get(filepath сервера), и он дает мне кучу сумасшедших данных... Я пробовал различные методы для чтения двоичных данных в виде BLOB-объектов и arrayBuffer, но ни один из они сработали правильно.
Как я могу преобразовать это в фактические данные, а затем в JSON аналогично тому, что делает D3.parseCSV?
Я пробовал следующее:
$.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"}})
})
и получить ошибку "Нераспознанный тип [объект]].
Если я использую type: "binary", я получаю "undefined TypeError: Невозможно прочитать свойство '0' из 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)...
не получил ничего, чтобы работать.