Группировка, разгруппировка строк и столбцов

Вступление

В файле Excel Microsoft можно создать структуру данных, позволяющую отображать и скрывать уровни детализации одним щелчком мыши.

Нажмите наКонтурные символы, 1,2,3, + и -, чтобы быстро отобразить только те строки или столбцы, которые содержат сводки или заголовки для разделов на листе, или вы можете использовать символы, чтобы просмотреть подробности под отдельной сводкой или заголовком.

Групповое управление строками и столбцами

Aspose.Cells предоставляет класс,IWorkbook который представляет собой файл Excel Microsoft.IWorkbook класс содержитIWorksheets коллекция, которая обеспечивает доступ к каждому рабочему листу в файле Excel. Рабочий лист представленрабочий лист учебный класс.рабочий лист класс предоставляетICellsколлекция, представляющая все ячейки рабочего листа.

ICellscollection предоставляет несколько методов для управления строками или столбцами на листе, некоторые из них более подробно обсуждаются ниже.

Группировка строк и столбцов

Можно сгруппировать строки или столбцы, вызвав методГруппРовс иГрупповые столбцы методыICellsколлекция. Оба метода принимают следующие параметры:

  • Индекс первой строки/столбца, первая строка или столбец в группе.
  • Индекс последней строки/столбца, последняя строка или столбец в группе.
  • Скрыт, логический параметр, указывающий, следует ли скрывать строки/столбцы после группировки или нет.
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input excel file
StringPtr sampleGroupingUngroupingRowsAndColumns = dirPath->StringAppend(new String("sampleGroupingUngroupingRowsAndColumns.xlsx"));
//Path of output excel file
StringPtr outputGroupingUngroupingRowsAndColumns = outPath->StringAppend(new String("outputGroupingUngroupingRowsAndColumns.xlsx"));
//Read input excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleGroupingUngroupingRowsAndColumns);
//Accessing the first worksheet in the Excel file
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
//Grouping first seven rows and first four columns
worksheet->GetICells()->GroupRows(0, 6, true);
worksheet->GetICells()->GroupColumns(0, 3, true);
//Save the Excel file.
workbook->Save(outputGroupingUngroupingRowsAndColumns);

Настройки группы

Microsoft Excel позволяет настроить параметры группы для отображения:

  • Сводные строки под деталями.
  • Сводные столбцы справа от подробностей.

Разгруппировка строк и столбцов

Чтобы разгруппировать любые сгруппированные строки или столбцы, вызовите методICells коллекцияРазгруппировать ряды иРазгруппировать столбцыметоды. Оба метода принимают два параметра:

  • Индекс первой строки или столбца, первая строка/столбец для разгруппировки.
  • Индекс последней строки или столбца, последняя строка/столбец для разгруппировки.
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
//Path of input excel file
StringPtr sampleGroupingUngroupingRowsAndColumns = dirPath->StringAppend(new String("sampleGroupingUngroupingRowsAndColumns.xlsx"));
//Path of output excel file
StringPtr outputGroupingUngroupingRowsAndColumns = outPath->StringAppend(new String("outputGroupingUngroupingRowsAndColumns.xlsx"));
//Read input excel file
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(sampleGroupingUngroupingRowsAndColumns);
//Accessing the second worksheet in the Excel file
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(1);
//UnGroup first seven rows and first four columns
worksheet->GetICells()->UngroupRows(0, 6);
worksheet->GetICells()->UngroupColumns(0, 3);
//Save the Excel file.
workbook->Save(outputGroupingUngroupingRowsAndColumns);