Сортировка данных
Сортировка данных в Microsoft Excel
Чтобы отсортировать данные в Microsoft Excel:
- Выберите Данные в меню Сортировка. В диалоговом окне сортировки будет отображаться.
- Выберите вариант сортировки.
Обычно сортировка выполняется в списке - это непрерывная группа данных, отображаемых в столбцах.
Сортировка данных с помощью 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(), располагаются вверху или внизу в соответствии с настройкой порядка сортировки, и порядок остальных ячеек не изменяется вовсе.
Ниже приведены образцовые файлы, которые можно загрузить для тестирования этой функции:
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") |