Especificar advertencia de ordenación al ordenar los datos
Escenarios de uso posibles
Por favor, considera estos datos textuales, es decir, {11, 111, 22}. Estos datos textuales están ordenados porque, en términos de texto, 111 viene antes que 22. Pero, si deseas ordenar estos datos no como texto sino como números, entonces se convertirán en {11, 22, 111} porque numéricamente 111 viene después de 22. Aspose.Cells para Python via .NET proporciona la propiedad {0} para abordar este problema. Por favor, establece esta propiedad como true y tus datos textuales se ordenarán como datos numéricos. La siguiente captura de pantalla muestra la advertencia de ordenación mostrada por Microsoft Excel cuando se ordenan datos textuales que parecen datos numéricos.
Código de muestra
El siguiente código de ejemplo ilustra el uso de la propiedad DataSorter.sort_as_number como se explica anteriormente. Consulte su archivo de Excel de ejemplo y archivo de Excel de salida para obtener más ayuda.
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") |