I am not able to get data from an Excel sheet in Angular 4. Below is my code sample.
HTML code:
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);
}