Сортировка данных

Сортировка данных в Microsoft Excel

Чтобы отсортировать данные в Microsoft Excel:

  1. Выберите Данные в меню Сортировка. В диалоговом окне сортировки будет отображаться.
  2. Выберите вариант сортировки.

Обычно сортировка выполняется в списке - это непрерывная группа данных, отображаемых в столбцах.

Сортировка данных с помощью Aspose.Cells для Python Excel библиотеки

Aspose.Cells для Python via .NET предоставляет класс DataSorter, используемый для сортировки данных по возрастанию или убыванию. В классе есть важные члены, например, свойства, такие как Key1 … Key3 и Order1 … Order3. Эти члены используются для определения ключевых значений сортировки и установки порядка сортировки ключей.

Перед реализацией сортировки данных необходимо определить ключи и установить порядок сортировки. В классе предоставляется метод sort, используемый для выполнения сортировки данных на основе данных ячейки на листе таблицы.

Метод sort принимает следующие параметры:

  • aspose.cells.Cells, ячейки для основного листа таблицы.
  • aspose.cells.CellArea, диапазон ячеек. Определите область ячеек перед применением сортировки данных.

В этом примере используется шаблонный файл “Book1.xls”, созданный в Microsoft Excel. После выполнения приведенного ниже кода данные сортируются правильно.

from aspose.cells import CellArea, SortOrder, 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(".")
# Instantiate a new Workbook object.
# Load a template file.
workbook = Workbook(dataDir + "book1.xls")
# Get the workbook datasorter object.
sorter = workbook.data_sorter
# Set the first order for datasorter object.
sorter.order1 = SortOrder.DESCENDING
# Define the first key.
sorter.key1 = 0
# Set the second order for datasorter object.
sorter.order2 = SortOrder.ASCENDING
# Define the second key.
sorter.key2 = 1
# Create a cells area (range).
ca = CellArea()
# Specify the start row index.
ca.start_row = 0
# Specify the start column index.
ca.start_column = 0
# Specify the last row index.
ca.end_row = 13
# Specify the last column index.
ca.end_column = 1
# Sort data in the specified data range (A1:B14)
sorter.sort(workbook.worksheets[0].cells, ca)
# Save the excel file.
workbook.save(dataDir + "output.out.xls")

Сортировка данных с использованием цвета фона с помощью Aspose.Cells для Python Excel библиотеки

Excel предоставляет функции сортировки данных на основе цвета фона. Ту же функцию можно использовать с помощью Aspose.Cells для Python via .NET с помощью DataSorter, где SortOnType. CellColor может быть использован в add_key() для сортировки данных на основе цвета фона. Все ячейки, которые содержат указанный цвет в функции add_key(), располагаются вверху или внизу в соответствии с настройкой порядка сортировки, и порядок остальных ячеек не изменяется вовсе.

Ниже приведены образцовые файлы, которые можно загрузить для тестирования этой функции:

sampleBackGroundFile.xlsx

outputsampleBackGroundFile.xlsx

from aspose.cells import CellArea, SortOnType, SortOrder, Workbook
from aspose.pydrawing import Color
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Create a workbook object and load template file
workbook = Workbook(sourceDir + "CellsNet46500.xlsx")
# Instantiate data sorter object
sorter = workbook.data_sorter
# Add key for second column for red color
sorter.add_key(1, SortOnType.CELL_COLOR, SortOrder.DESCENDING, Color.red)
# Sort the data based on the key
sorter.sort(workbook.worksheets[0].cells, CellArea.create_cell_area("A2", "C6"))
# Save the output file
workbook.save(outputDir + "outputSortData_CustomSortList.xlsx")

Продвинутые темы