Есть проблема с моей работой., поскольку Firebase Web / JavaScript API всегда возвращает полное дерево под узлами, которые мы запрашиваем .
Таким образом, в моем случае я извлек все существующие поля из firebase, в том числе сначала чувствительные поля , и после этого я хочу экспортировать только лучшие выбранные поля, а не все поля, которые я получил .проблема в том, что я всегда успешно экспортировал все существующие поля, включая чувствительные поля.
Можно ли экспортировать только выбранное поле и исключить чувствительное поле?Ниже приведен мой код:
Я получаю все мои поля, включая данные из firebase, в моем файле .ts, например:
getData() {
this.dataLoading = true;
this.querySubscription = this._backendService.getDocs('report')
.subscribe(members => {
this.members = members;
this.dataSource = new MatTableDataSource(members);
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
},
(error) => {
this.error = true;
this.errorMessage = error.message;
this.dataLoading = false;
},
() => { this.error = false; this.dataLoading = false; });
}
//export func
exportAsXLSX():void{
this._backendService.exportAsExcelFile(this.members, 'sample');
}
My BackendСервисный код:
getDocs(coll:string,filters?:any){
this.itemsCollection=this.afs.collection<any>(this.getCollectionURL(coll));
return this.itemsCollection.valueChanges();
}
getCollectionURL(filter){
return "ReportApp/fajar/"+filter;
}
//export func
public exportAsExcelFile(json: any[], excelFileName: string): void {
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };
const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
this.saveAsExcelFile(excelBuffer, excelFileName);
}
private saveAsExcelFile(buffer: any, fileName: string): void {
const data: Blob = new Blob([buffer], {type: EXCEL_TYPE});
FileSaver.saveAs(data, fileName + '_export_' + new Date().getTime() + EXCEL_EXTENSION);
}
. Для справки я использую здесь код для экспорта в Excel: https://medium.com/@madhavmahesh/exporting-an-excel-file-in-angular-927756ac9857
Как вы можете видеть, я поместил все свои данные в this.member переменная и экспорт em, но в результате я экспортировал все их, я хочу экспортировать только выбранные поля.