无法读取未定义的属性“ 0”-读取xls文件时

时间:2019-09-25 13:51:40

标签: angular typescript angular7 xlsx sheetjs

我正在尝试读取角度7中的excel数据。下面是代码。

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列。具有.xls扩展名(excel 97-2003)的Excel文件workshhet和Excel Workbook()*。xlsx。他们两个似乎都不起作用。 如果我想念什么,请告诉我。预先感谢。

0 个答案:

没有答案