angular - Nelze přečíst vlastnost '0' u nedefinovaného - Při čtení souboru xls
Snažím se číst data z Excelu v Angular 7. Níže je kód.
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);
}
Níže je chyba:
core.js:15724 CHYBA TypeError: Nelze číst vlastnost '0' z nedefinovaného při parse_xlml_xml (xlsx.js:15669) při parse_xlml (xlsx.js:16052) při Object.readSync [jako read] (xlsx.js:20413) při FileReader.fileReader.onload (app.component.ts:40) při ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391) při Object.onInvoke (core.js:17299) při ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:390) při Zone.push../node_modules/zone.js/dist/zone.js.Zone.runGuarded (zone.js:161) při FileReader. (zone.js:144)
Uložil jsem jednoduchý soubor Excel s 3 řádky a 3 sloupci. Soubor Excel s příponou .xls (Excel 97-2003) a Excel sešit (*.xlsx). Zdá se, že ani jeden z nich nefunguje. Prosím, dejte mi vědět, jestli něco chybí. Předem děkuji.