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

Введение

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

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

Группировка строк и столбцов.
todo:image_alt_text

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

Aspose.Cells для Python via .NET предоставляет класс, Workbook, который представляет файл Microsoft Excel. Класс Workbook содержит WorksheetCollection, который позволяет получить доступ к каждому листу Excel в файле. Лист Excel представлен классом Worksheet. Класс Worksheet предоставляет коллекцию Cells, представляющую все ячейки на листе Excel.

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

Как группировать строки и столбцы

Возможно сгруппировать строки или столбцы, вызвав методы group_rows и group_columns коллекции Cells. Оба метода принимают следующие параметры:

  • Индекс первой строки/столбца в группе.
  • Индекс последней строки/столбца в группе.
  • Скрыто, логический параметр, указывающий, нужно ли скрыть строки/столбцы после группировки.
from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Creating a file stream containing the Excel file to be opened
fstream = open(dataDir + "book1.xls", "rb")
# Opening the Excel file through the file stream
workbook = Workbook(fstream)
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Grouping first six rows (from 0 to 5) and making them hidden by passing true
worksheet.cells.group_rows(0, 5, True)
# Grouping first three columns (from 0 to 2) and making them hidden by passing true
worksheet.cells.group_columns(0, 2, True)
# Saving the modified Excel file
workbook.save(dataDir + "output.xls")
# Closing the file stream to free all resources
fstream.close()

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

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

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

Разработчики могут настроить параметры группы, используя свойство outline класса Worksheet.

Как установить строки резюме ниже деталей

Возможно управлять отображением итоговых строк под деталями, установив свойство summary_row_below класса Outline в true или false.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
workbook = Workbook(dataDir + "sample.xlsx")
worksheet = workbook.worksheets[0]
# Grouping first six rows and first three columns
worksheet.cells.group_rows(0, 5, True)
worksheet.cells.group_columns(0, 2, True)
# Setting SummaryRowBelow property to false
worksheet.outline.summary_row_below = False
# Saving the modified Excel file
workbook.save(dataDir + "output.xls")

Как установить столбцы резюме справа от деталей

Разработчики могут также управлять отображением итоговых столбцов справа от деталей, установив свойство summary_column_right класса Outline в true или false.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
workbook = Workbook(dataDir + "sample.xlsx")
worksheet = workbook.worksheets[0]
# Grouping first six rows and first three columns
worksheet.cells.group_rows(0, 5, True)
worksheet.cells.group_columns(0, 2, True)
worksheet.outline.summary_column_right = True
# Saving the modified Excel file
workbook.save(dataDir + "output.xls")

Как разгруппировывать строки и столбцы

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

  • Индекс первой строки/столбца, которую нужно разгруппировать.
  • Индекс последней строки/столбца, которую нужно разгруппировать.

ungroup_rows имеет перегрузку, принимающую третий параметр логического типа. Установка его в true удаляет всю группированную информацию. В противном случае удаляется только внешняя информация о группе.

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# The path to the documents directory.
dataDir = RunExamples.GetDataDir(".")
# Creating a file stream containing the Excel file to be opened
fstream = open(dataDir + "book1.xls", "rb")
# Instantiating a Workbook object
# Opening the Excel file through the file stream
workbook = Workbook(fstream)
# Accessing the first worksheet in the Excel file
worksheet = workbook.worksheets[0]
# Ungrouping first six rows (from 0 to 5)
worksheet.cells.ungroup_rows(0, 5)
# Ungrouping first three columns (from 0 to 2)
worksheet.cells.ungroup_columns(0, 2)
# Saving the modified Excel file
workbook.save(dataDir + "output.xls")
# Closing the file stream to free all resources
fstream.close()