Specificera sorteringsvarning vid sortering av data
Möjliga användningsscenario
Överväg detta textdata, dvs. {11, 111, 22}. Detta textdata ordnas eftersom, i termer av text, kommer 111 före 22. Men om du vill sortera dessa data inte som text utan som nummer, blir det {11, 22, 111} eftersom numeriskt kommer 111 efter 22. Aspose.Cells for Python via .NET tillhandahåller egenskapen {0} för att hantera detta problem. Ställ in denna egenskap på true och ditt textdata kommer att sorteras som numeriskt data. Följande skärmdump visar sorteringsvarningen som visas av Microsoft Excel när textdata som ser ut som numeriska data sorteras.
Exempelkod
Den följande exemplarkoden illustrerar användningen av DataSorter.sort_as_number-egenskapen enligt tidigare förklaring. Kontrollera dess exempelfil för Excel och utdatafil för Excel för mer hjälp.
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") |