Javascript 如何在angular 5中只读取大xlsx的前n行?

Javascript 如何在angular 5中只读取大xlsx的前n行?,javascript,angular5,xlsx,Javascript,Angular5,Xlsx,我试图在前端显示xlsx文件中的几行数据。我想从excel文件中读取前n行,因为如果我读取整个excel文件,这将花费大量时间,而这不是必需的。为此,我使用5kb进行切片操作。如果文件大小小于5k(因为我正在阅读完整的excel),则它可以工作,但超过5kb则无法工作。我可以在控制台中看到这个错误 错误:损坏的zip:找不到中心目录的结尾 你可以在下面查看我的代码。我正在将文件传递给readFile函数。我在下面给出了我的程序的sudo代码 import * as XLSX from 'xlsx

我试图在前端显示xlsx文件中的几行数据。我想从excel文件中读取前n行,因为如果我读取整个excel文件,这将花费大量时间,而这不是必需的。为此,我使用5kb进行切片操作。如果文件大小小于5k(因为我正在阅读完整的excel),则它可以工作,但超过5kb则无法工作。我可以在控制台中看到这个错误

错误:损坏的zip:找不到中心目录的结尾

你可以在下面查看我的代码。我正在将文件传递给readFile函数。我在下面给出了我的程序的sudo代码

import * as XLSX from 'xlsx';
function readFile(file)
{ 
    var myReader: FileReader = new FileReader();
    let slice_file = file.slice(0, 1024*5);
    //console.log(slice_file);
    let workbook: any;       
    myReader.readAsArrayBuffer(slice_file)
    myReader.onload = (e) => {
       try{  
              workbook = XLSX.read(myReader.result, { type: "array" });
       }catch(e){
              console.log(e);
          }

    }
    //I will use workbook here
}
到目前为止,我知道这是行不通的,因为如果不读取文件的完整大小,它将像一个损坏的文件。我不想读取整个文件。我尝试使用二进制格式的文件读取器,还将myReader结果转换为二进制,并尝试使用XLXS进行读取,但没有使用