С помощью ember я в настоящее время разрешаю пользователю загружать файлы через пакет ember-file-upload и пытаюсь проанализировать файлы Excel с пакетом xlsx, но я не могу заставить их работать вместе.Я получил другие пакеты для преобразования файла в csv, json и т. Д., Но не могу загрузить файл Excel для преобразования с помощью xlsx, и я не могу найти другие пакеты, которые работают.
В настоящее время я пытаюсь сделать это таким образом, но он всегда выглядит пустым.
file.onloadstart = function (e) {
alert("started reading");
}
file.onload = function (e) {
// pre-process data
var binary = "";
var bytes = new Uint8Array(e.target.result);
var length = bytes.byteLength;
for (var i = 0; i < length; i++) {
binary += String.fromCharCode(bytes[i]);
}
// call 'xlsx' to read the file
var workbook = XLSX.read(binary, {type: 'binary', cellDates:true, cellStyles:true});
//return oFile;
alert(workbook.SheetNames.length);
alert(workbook.SheetNames[0]);
var worksheet = workbook.Sheets[workbook.SheetNames[0]];
var desiredCell = worksheet['A1'];
var desiredValue = (desiredCell ? desiredCell.v : undefined);
alert(desiredValue);
};
file.readAsArrayBuffer().then(function(data) {
alert(XLSX.utils.sheet_to_csv(data));
csv2geojson.csv2geojson(data, function(err, jsondata) {
// do something
});
});
В настоящее время file.onloadstart никогда не вызывается, как и file.onload, но когда я тестировал за пределами этих файлов workbook.SheetNames.длина предупреждает о неправильной длине workbook.SheetNames [0] выдает неверное имя листа, а предупреждение requiredValue пустое, а предупреждение XLSX.utils.sheet_to_csv (data) пустое и имеет длину 0.