Поделиться через


Диапазоны групп для структуры с помощью API JavaScript для Excel

В этой статье представлен пример кода, в котором показано, как группировать диапазоны для структуры с помощью API JavaScript для Excel. Полный список свойств и методов, поддерживаемых объектом, см. в Rangeразделе Класс Excel.Range.

Группирование строк или столбцов диапазона для структуры

Строки или столбцы диапазона можно сгруппировать для создания структуры. Эти группы можно свернуть и развернуть, чтобы скрыть и отобразить соответствующие ячейки. Это упрощает быстрый анализ данных в верхней строке. Используйте Range.group , чтобы создать эти группы структуры.

Структура может иметь иерархию, в которой более мелкие группы вложены в большие группы. Это позволяет просматривать структуру на разных уровнях. Изменение уровня видимого контура можно выполнить программным путем с помощью метода Worksheet.showOutlineLevels . Обратите внимание, что Excel поддерживает только восемь уровней групп структуры.

В следующем примере кода создается структура с двумя уровнями групп для строк и столбцов. На следующем рисунке показаны группировки этого контура. В примере кода сгруппированные диапазоны не включают строку или столбец элемента управления структурой (в этом примере "Итоги"). Группа определяет, что будет свернуто, а не строку или столбец с элементом управления .

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

Диапазон с двухуровневой двухмерной структурой.

Удаление группирования из строк или столбцов диапазона

Чтобы разгруппировать группу строк или столбцов, используйте метод Range.ungroup . При этом внешний уровень удаляется из контура. Если несколько групп одного типа строки или столбца находятся на одном уровне в пределах указанного диапазона, все эти группы разгруппированы.

См. также