मैं कोणीय 8 का उपयोग करके xlsx लाइब्रेरी के साथ एक्सेल शीट में ऑब्जेक्ट की एक सरणी निर्यात करने में असमर्थ हूं। यहां एकाधिक शीट के साथ एक्सेल करने के लिए जेसन डेटा निर्यात करने के लिए मेरा नमूना कोड है।

मेरे app.html फ़ाइल के अंदर।

<button (click)="exportAsXLSX()" >Export to Excel </button>

मेरे app.ts फ़ाइल के अंदर।

  public exportAsXLSX():void {
    let myExcelData = {teams: [{name: 'chelsea', matchsAvailable: 10},
                           {name: 'manu', matchsAvailable: 10},
                          {name: 'spurs', matchsAvailable: 10}, 
                          {name: 'arsenal', matchsAvailable: 10}],
                   Managers: [{team: 'chelsea', name: 'lampard'},
                              {team: 'manu', name: 'ole'}, 
                              {team: 'spurs', name: 'jose'}, 
                             {team: 'arsenal', name: 'wenger'},]}
    this.exportToExcelService.exportAsExcelFile(myExcelData , 'intelligence');
}

मेरी service.ts . के अंदर

import { Injectable } from '@angular/core';
import * as FileSaver from 'file-saver';
import * as XLSX from 'xlsx';
const EXCEL_EXTENSION = '.xlsx';
const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';

@Injectable({
  providedIn: 'root'
})
export class ExportToExcelService {
  constructor() { }
  public exportAsExcelFile(json: any[], excelFileName: string): void {
    
    const worksheetForTeam: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json['teams']);
    const worksheetForManagers: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json['Managers']);
    const workbook: XLSX.WorkBook = { Sheets: { 'Sheet1': worksheetForTeam 'Sheet2': worksheetForManagers}, SheetNames: ['ByTheTeam', 'ByTheManagers'] };
    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);
  }
}

अगर मैं इसे एक शीट के लिए करता हूं तो यह कई शीट्स के लिए काम नहीं कर रहा है। मैं शीट के साथ एक्सेल फाइल डाउनलोड करने में सक्षम हूं। लेकिन चादरें बिना किसी डेटा के खाली हैं।

कोई अंतर्दृष्टि जहां मैं गलती कर रहा हूं वह वास्तव में सहायक होगा। पहले ही, आपका बहुत धन्यवाद।

3
Noob_coder 25 नवम्बर 2020, 10:59

1 उत्तर

सबसे बढ़िया उत्तर
 const workbook: XLSX.WorkBook = { Sheets: { 'ByTheTeam': worksheetForTeam 'ByTheManagers': worksheetForManagers}, SheetNames: ['ByTheTeam', 'ByTheManagers'] };

शीट का नाम बदलना मेरे लिए काम कर गया। साधारण नोब गलती।

0
Noob_coder 26 नवम्बर 2020, 08:21