Ember пользователь загрузить Excel в CSV - пусто - PullRequest
0 голосов
/ 25 мая 2018

С помощью 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.

...