J'ai mon serveur de développement angular-cli frontend exécutant localement sur localhost:4200
Pour des raisons spécifiques, j'ai besoin d'obtenir un fichier Excel local stocké sur mon PC, lisez son contenu et effectuez quelques appels à une API. Et il doit être du côté client.
J'essaie d'utiliser JS-XLSX, je l'ai installé avec npm install xlsx
Mais je ne trouve pas comment obtenir le fichier et lire son contenu.
Comment puis-je importer un fichier Excel local avec JS-XLSX IN Angular 11?
Remarque: S'il est possible/plus facile en utilisant Pure JavaScript, il est également valable pour moi.
Dans mon cas, je veux des données comme
[['1', '2'], ['3', '4']]]
aussi des données comme
{'1': '3', '2': '4'}
De sorte que j'ai fait le code suivant
uploadFile(uploadedFile){
let workBook = null;
const reader = new FileReader();
const file = uploadedFile[0];
reader.onload = (event) => {
const data = reader.result;
workBook = XLSX.read(data, { type: 'binary' });
const sheet_name_list = workBook.SheetNames;
this.xlData = XLSX.utils.sheet_to_json(workBook.Sheets[sheet_name_list[0]]);
log("xlData >>> ",JSON.stringify(this.xlData));
this.arraySaparater = (XLSX.utils.sheet_to_json(workBook.Sheets[sheet_name_list[0]], { header: 1 }));
this.arraySaparater = this.arraySaparater.filter((row)=>{
if(Array.isArray(row) && row.length){
return row;
}
else{
return false;
}
});
log('ArraySaparater >>>',JSON.stringify(this.arraySaparater));
}
reader.readAsBinaryString(file);
}