Angular 4: How to read data from Excel?

前端 未结 5 1994
孤城傲影
孤城傲影 2020-12-01 11:09

I am not able to get data from an Excel sheet in Angular 4. Below is my code sample.

HTML code:



        
5条回答
  •  情深已故
    2020-12-01 11:36

    You should follow these 3 steps

    step 1: import ts-xlsx refer: https://www.npmjs.com/package/ts-xlsx for installation

    step 2: Using FileReader convert to arraybuffer

    step 3: Reading the arraybuffer with XLSX and converting as workbook

    HTML CODE

    
    
    

    Typescript

    //import it
    
        import * as XLSX from 'ts-xlsx';
    
    //inside export class
    
    arrayBuffer:any;
    file:File;
    incomingfile(event) 
      {
      this.file= event.target.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);
    }
    

提交回复
热议问题