我正在尝试以角度 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 错误类型错误:无法在 Object.readSync [as read] (xlsx.js:20413) 的 parse_xlml (xlsx.js:16052) 处读取 parse_xlml_xml (xlsx.js:15669) 处未定义的属性“0” FileReader.fileReader.onload (app.component.ts:40) 在 ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:391) 在 Object.onInvoke (核心。 js:17299) 在 ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:390) 在 Zone.push../node_modules/zone.js/dist/zone。 FileReader 上的 js.Zone.runGuarded (zone.js:161)。(zone.js:144)
我保存了一个简单的 3 行 3 列的 Excel 文件。扩展名为 .xls (excel 97-2003) workshhet 和 Excel Workbook ()*.xlsx 的 Excel 文件。他们两个似乎都不起作用。如果我遗漏了什么,请告诉我。提前致谢。