データをソートする際のソート警告の指定
可能な使用シナリオ
このテキストデータ{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ファイル(43352075.xlsx)とそれに対応する出力Excelファイル(43352076.xlsx)を確認してください。
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") |