Compartilhar via


Intervalos de grupo para um tópico usando a API JavaScript do Excel

Este artigo fornece um exemplo de código que mostra como agrupar intervalos para um tópico usando a API JavaScript do Excel. Para obter a lista completa de propriedades e métodos compatíveis com o Range objeto, consulte Classe Excel.Range.

Agrupar linhas ou colunas de um intervalo para um tópico

Linhas ou colunas de um intervalo podem ser agrupadas para criar um esboço. Esses grupos podem ser recolhidos e expandidos para ocultar e mostrar as células correspondentes. Isso facilita a análise rápida dos dados de linha superior. Use Range.group para fazer esses grupos de tópicos.

Um tópico pode ter uma hierarquia, em que grupos menores são aninhados em grupos maiores. Isso permite que o contorno seja exibido em níveis diferentes. A alteração do nível de contorno visível pode ser feita programaticamente por meio do método Worksheet.showOutlineLevels . Observe que o Excel dá suporte apenas a oito níveis de grupos de tópicos.

O exemplo de código a seguir cria um esboço com dois níveis de grupos para as linhas e colunas. A imagem subsequente mostra os agrupamentos desse contorno. No exemplo de código, os intervalos que estão sendo agrupados não incluem a linha ou a coluna do controle de contorno (os "Totais" para este exemplo). Um grupo define o que será recolhido, não a linha ou a coluna com o controle.

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();
});

Intervalo com um contorno de duas dimensões e dois níveis.

Remover o agrupamento de linhas ou colunas de um intervalo

Para desagrupar uma linha ou grupo de colunas, use o método Range.ungroup . Isso remove o nível mais externo do contorno. Se vários grupos da mesma linha ou tipo de coluna estiverem no mesmo nível dentro do intervalo especificado, todos esses grupos não serão agrupados.

Confira também