Указание предупреждения сортировки при сортировке данных
Возможные сценарии использования
Пожалуйста, учтите этот текстовый данные, т.е. {11, 111, 22}. Эти текстовые данные отсортированы, потому что, в терминах текста, 111 идет перед 22. Но если вы хотите сортировать эти данные не как текст, а как числа, то они станут {11, 22, 111}, потому что численно 111 идет после 22. Aspose.Cells для Python via .NET предоставляет свойство {0} для решения этой проблемы. Пожалуйста, установите это свойство в true, и ваши текстовые данные будут отсортированы как числовые данные. Ниже приведен скриншот предупреждения сортировки, показанного Microsoft Excel, когда текстовые данные, которые выглядят как числовые данные, сортируются.
Образец кода
В следующем образце кода показано использование свойства DataSorter.sort_as_number, как объяснено ранее. Пожалуйста, проверьте его образцовый файл Excel и выходной файл Excel для получения дополнительной помощи.
from aspose.cells import CellArea, CellsHelper, 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(".") | |
# Create workbook. | |
workbook = Workbook(dataDir + "sampleSortAsNumber.xlsx") | |
# Access first worksheet. | |
worksheet = workbook.worksheets[0] | |
# Create your cell area. | |
ca = CellArea.create_cell_area("A1", "A20") | |
# Create your sorter. | |
sorter = workbook.data_sorter | |
# Find the index, since we want to sort by column A, so we should know the index for sorter. | |
idx = CellsHelper.column_name_to_index("A") | |
# Add key in sorter, it will sort in Ascending order. | |
sorter.add_key(idx, SortOrder.ASCENDING) | |
sorter.sort_as_number = True | |
# Perform sort. | |
sorter.sort(worksheet.cells, ca) | |
# Save the output workbook. | |
workbook.save(dataDir + "outputSortAsNumber.xlsx") |