在排序数据时指定排序警告

可能的使用场景

请考虑以下文本数据,即{11, 111, 22}。这些文本数据是有序的,因为从文本角度看,111出现在22之前。但如果您想将此数据不作为文本,而是作为数字进行排序,那么它将变为{11, 22, 111},因为从数字上看,111出现在22之后。Aspose.Cells for Python via .NET提供了{0}属性来解决这个问题。请将此属性设置为true,您的文本数据将被排序为数字数据。以下屏幕截图显示了在将类似数字数据的文本数据排序时Microsoft Excel显示的排序警告。

todo:image_alt_text

示例代码

下面的示例代码说明了如何使用前面解释的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")