Как читать только первые n строк из больших xlsx в угловых 5? - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь отобразить во внешнем интерфейсе несколько строк данных из файла xlsx.Я хочу прочитать первые n строк из файла Excel, потому что, если я прочитал полный файл Excel, это займет много времени, а это не требуется.Для этого я делаю слайс с 5kb.Он работает, если размер файла ниже 5 КБ (потому что я читаю полный Excel), но он не работает выше 5 КБ.Я могу видеть в консоли эту ошибку.

Ошибка: поврежденный почтовый индекс: не удается найти конец центрального каталога

Вы можете проверить мой код ниже.Я передаю файл в функцию 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, но безрезультатно.

...