Не удается прочитать свойство '0' из неопределенного - при чтении файла xls - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь прочитать данные Excel в угловом формате 7. Ниже приведен код.

import * as XLSX from 'xlsx';
arrayBuffer: any;
file: File;

incomingfile(event) {
  let files = event.target.files;
  this.file = files[0];
}

Upload() {
  let fileReader = new FileReader();
  fileReader.onload = (e) => {
    this.arrayBuffer = fileReader.result;
    var data = new Uint8Array(this.arrayBuffer);
    var arr = new Array();
    for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
    var bstr = arr.join("");
    var workbook = XLSX.read(bstr, {
      type: "binary"
    });
    var first_sheet_name = workbook.SheetNames[0];
    var worksheet = workbook.Sheets[first_sheet_name];
    console.log(XLSX.utils.sheet_to_json(worksheet, {
      raw: true
    }));
  }

  fileReader.readAsArrayBuffer(this.file);
}

Ниже приведена ошибка:

core.js: 15724 ОШИБКА TypeError: Невозможно прочитать свойство '0' неопределенного в parse_xlml_xml (xlsx.js: 15669) в parse_xlml (xlsx.js: 16052) в Object.readSync [как прочитано] (xlsx.js: 20413) в FileReader.fileReader.onload (app.component.ts: 40) в ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invoke (zone.js: 391) в Object.onInvoke (core.js: 17299) в ZoneDelegate.push ../ node_modules / zone.js / dist / zone.js.ZoneDelegate.invoke (zone.js: 390) в Zone.push ../ node_modules / zone.js / dist / zone.js.Zone.runGuarded (zone.js: 161) в FileReader.(zone.js: 144)

Я сохранил простой файл Excel с 3 строками и 3 столбцами.Файл Excel с расширением .xls (Excel 97-2003) и Excel Workbook () *. Xlsx.Кажется, они оба не работают.Пожалуйста, дайте мне знать, если я что-то упустил.Заранее спасибо.

...