我想读取xlsx文件,但我想要的只是读取前三个记录,因为如您所知,如果我读取所有记录,浏览器将崩溃。我需要您的帮助,以找到一种方法来读取前三个记录(行)
PS:我不想在解析xlsx文件时将数据保存在内存中
我现在正在使用它:
fileChange(event) {
const fileList: FileList = event.target.files;
if (fileList.length > 0) {
const file: File = fileList[0];
const reader = new FileReader();
reader.onload = e => {
const arrayBuffer = reader.result,
data = new Uint8Array(arrayBuffer),
arr = new Array();
for (let i = 0; i !== data.length; ++i) {
arr[i] = String.fromCharCode(data[i]);
}
const bstr = arr.join("");
const workbook: XLSX.WorkBook = XLSX.read(bstr, { type: "binary" });
const firstSheetName: string = workbook.SheetNames[0];
const worksheet: XLSX.WorkSheet = workbook.Sheets[firstSheetName];
this.setXlsxData(XLSX.utils.sheet_to_json(worksheet));
};
reader.readAsArrayBuffer(file);
}
}
setXlsxData(data: Array<any>) {
this.headers = Object.keys(data[0]);
this.xlsxData = data;
}
答案 0 :(得分:1)
尝试此库。我已经编写并阅读了一些xlsx文件,它工作正常。 (抱歉,我不能在评论中写这个,不能评论)