Regrouper des plages pour un plan à l’aide de l’API JavaScript Excel
Cet article fournit un exemple de code qui montre comment regrouper des plages pour un plan à l’aide de l’API JavaScript Excel. Pour obtenir la liste complète des propriétés et méthodes prises en charge par l’objet Range
, voir Classe Excel.Range.
Regrouper des lignes ou des colonnes d’une plage pour un plan
Les lignes ou les colonnes d’une plage peuvent être regroupées pour créer un plan. Ces groupes peuvent être réduits et développés pour masquer et afficher les cellules correspondantes. Cela facilite l’analyse rapide des données de première ligne. Utilisez Range.group pour créer ces groupes hiérarchiques.
Un plan peut avoir une hiérarchie, où des groupes plus petits sont imbriqués sous des groupes plus grands. Cela permet d’afficher le plan à différents niveaux. La modification du niveau hiérarchique visible peut être effectuée par programmation à l’aide de la méthode Worksheet.showOutlineLevels . Notez qu’Excel prend uniquement en charge huit niveaux de groupes hiérarchiques.
L’exemple de code suivant crée un plan avec deux niveaux de groupes pour les lignes et les colonnes. L’image suivante montre les regroupements de ce plan. Dans l’exemple de code, les plages regroupées n’incluent pas la ligne ou la colonne du contrôle hiérarchique (les « Totaux » pour cet exemple). Un groupe définit ce qui sera réduit, et non la ligne ou la colonne avec le contrôle .
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getItem("Sample");
// Group the larger, main level. Note that the outline controls
// will be on row 10, meaning 4-9 will collapse and expand.
sheet.getRange("4:9").group(Excel.GroupOption.byRows);
// Group the smaller, sublevels. Note that the outline controls
// will be on rows 6 and 9, meaning 4-5 and 7-8 will collapse and expand.
sheet.getRange("4:5").group(Excel.GroupOption.byRows);
sheet.getRange("7:8").group(Excel.GroupOption.byRows);
// Group the larger, main level. Note that the outline controls
// will be on column R, meaning C-Q will collapse and expand.
sheet.getRange("C:Q").group(Excel.GroupOption.byColumns);
// Group the smaller, sublevels. Note that the outline controls
// will be on columns G, L, and R, meaning C-F, H-K, and M-P will collapse and expand.
sheet.getRange("C:F").group(Excel.GroupOption.byColumns);
sheet.getRange("H:K").group(Excel.GroupOption.byColumns);
sheet.getRange("M:P").group(Excel.GroupOption.byColumns);
await context.sync();
});
Supprimer le regroupement des lignes ou des colonnes d’une plage
Pour dissocier un groupe de lignes ou de colonnes, utilisez la méthode Range.ungroup . Cela supprime le niveau le plus externe du plan. Si plusieurs groupes du même type de ligne ou de colonne se trouvent au même niveau dans la plage spécifiée, tous ces groupes sont dissociés.