2017-08-09 6 views

Répondre

2

Après avoir recherché plusieurs options, j'ai trouvé une solution qui parcourt séquentiellement la collection de mailles et les ajoute au classeur principal.

Pour la méthode exportEnding de la 1ère grille que vous avez choisie, appelez une fonction qui fait l'export (supposé) pour la 2ème grille. Cela peut être séquencé pour autant de grilles que nécessaire. Supposons que chacune de ces fonctions s'appelle ExportGrid, par exemple exportSecondGrid.

de grid1
exportEnding :function(sender, args) { 
    exportSecondGrid(args.workbook); 
    return false; 
    } 

Utilisez la grille 2 événement de headerExporting pour ajouter la feuille de calcul du classeur principal. Son exportEnding prend la collection d'en-tête généré en-tête à l'exportation manuellement ensemble pour la feuille de calcul

maintenant les événements de la grille 2 comme ci-dessous

var headerArr = []; 
$.ig.GridExcelExporter.exportGrid($("#gridSecond"), { 
    fileName: fileNamePassedAsParameter, 
    worksheetName: Sheet2NamePassedAsParameter 
}, 
{ 
headerCellExporting: function(sender, args) { 
    // We will save all the headers coming to our array for retrieval later on 
    headerArr.push(args.headerText); 
    if (args.columnIndex === 0) { 
     sender._workbook = workbook; 
     sender._workbook.worksheets().add(sender._worksheet.name()); 
     sender._worksheet = sender._workbook.worksheets(1); 
    } 
}, 
exportEnding: function(sender, args) { 
    // Now use the array of headers to be updated 
    var row = sender._worksheet.rows(0); 
    for(var ind=0; ind < headerArr.length; ind++) { 
     row.setCellValue(ind, headerArr[ind]); 
    } 
} 
} 
); 
}