Carga de archivos angulares sobre cómo implementar la validación de celdas vacías. Estoy tratando de cargar un archivo de Excel en angular.
El archivo de Angular Excel se está cargando correctamente. Solo tengo 4 columnas en mi Excel y todas las columnas son obligatorias.
Necesito mostrar un mensaje de alerta si alguna celda está vacía. Todas las celdas son obligatorias en una fila.
¿Cómo puedo hacer esto usando Angular. Por favor encuentre el Ejemplo.
import { Component } from '@angular/core'; import * as XLSX from 'xlsx'; type AOA = any[][]; @Component({ selector: 'app-sheet', templateUrl: './sheet.component.html', }) export class SheetJSComponent { data: AOA = [[1, 2], [3, 4]]; wopts: XLSX.WritingOptions = { bookType: 'xlsx', type: 'array' }; fileName: string = 'SheetJS.xlsx'; onFileChange(evt: any) { /* wire up file reader */ const target: DataTransfer = <DataTransfer>(evt.target); if (target.files.length !== 1) throw new Error('Cannot use multiple files'); const reader: FileReader = new FileReader(); reader.onload = (e: any) => { /* read workbook */ const bstr: string = e.target.result; const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' }); /* grab first sheet */ const wsname: string = wb.SheetNames[0]; const ws: XLSX.WorkSheet = wb.Sheets[wsname]; /* save data */ this.data = <AOA>(XLSX.utils.sheet_to_json(ws, { header: 1 })); console.log("data:",this.data); this.data.map(res=>{ if(res[0] === "no"){ console.log(res[0]); }else{ console.log(res[0]); } }) }; reader.readAsBinaryString(target.files[0]); } export(): void { /* generate worksheet */ const ws: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(this.data); /* generate workbook and add the worksheet */ const wb: XLSX.WorkBook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); /* save to file */ XLSX.writeFile(wb, this.fileName); } } <input type="file" (change)="onFileChange($event)" multiple="false" /> <table class="sjs-table"> <tbody> <tr *ngFor="let row of data"> <td *ngFor="let val of row"> {{val}} </td> </tr> </tbody> </table> <button (click)="export()">Export!</button>¿Alguien puede explicarme cómo lograr esto?