在排序数据时指定排序警告
Contents
[
Hide
]
可能的使用场景
请考虑以下文本数据,即{11, 111, 22}。这些文本数据是有序的,因为从文本角度看,111出现在22之前。但如果您想将此数据不作为文本,而是作为数字进行排序,那么它将变为{11, 22, 111},因为从数字上看,111出现在22之后。Aspose.Cells for Python via .NET提供了{0}属性来解决这个问题。请将此属性设置为true,您的文本数据将被排序为数字数据。以下屏幕截图显示了在将类似数字数据的文本数据排序时Microsoft Excel显示的排序警告。
示例代码
下面的示例代码说明了如何使用前面解释的DataSorter.sort_as_number属性。有关更多帮助,请查看其示例Excel文件和输出Excel文件。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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") |