データソート

Microsoft Excel でのデータのソート

Microsoft Excel でデータをソートするには:

  1. ソートメニューからデータを選択します。ソートダイアログが表示されます。
  2. ソートオプションを選択します。

一般的に、ソートはリスト上で実行されます。リストは、データが列に表示される連続したグループと定義されます。

Aspose.Cells for for Python via .NETを使用したデータのソート

Aspose.Cells for for Python via .NETはデータを昇順または降順にソートするためのDataSorterクラスを提供しています。このクラスには、Key1…Key3やOrder1…Order3などの重要なメンバーがあります。これらのメンバーはソートされたキーを定義し、キーソートの順序を指定するのに使用されます。

データソートを実装する前に、キーを定義してソート順を設定する必要があります。このクラスは、ワークシート内のセルデータに基づいてデータのソートを実行するために使用される sort メソッドを提供しています。

sort メソッドは、以下のパラメータを受け入れます:

この例では、Microsoft Excelで作成した「Book1.xls」という名前のテンプレートファイルを使用します。以下のコードを実行した後、データが適切にソートされます。

from aspose.cells import CellArea, 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(".")
# Instantiate a new Workbook object.
# Load a template file.
workbook = Workbook(dataDir + "book1.xls")
# Get the workbook datasorter object.
sorter = workbook.data_sorter
# Set the first order for datasorter object.
sorter.order1 = SortOrder.DESCENDING
# Define the first key.
sorter.key1 = 0
# Set the second order for datasorter object.
sorter.order2 = SortOrder.ASCENDING
# Define the second key.
sorter.key2 = 1
# Create a cells area (range).
ca = CellArea()
# Specify the start row index.
ca.start_row = 0
# Specify the start column index.
ca.start_column = 0
# Specify the last row index.
ca.end_row = 13
# Specify the last column index.
ca.end_column = 1
# Sort data in the specified data range (A1:B14)
sorter.sort(workbook.worksheets[0].cells, ca)
# Save the excel file.
workbook.save(dataDir + "output.out.xls")

Aspose.Cells for for Python via .NET Excel Libraryを使用した背景色を利用したデータのソート

Excelは背景色に基づいてデータをソートする機能を提供しています。同じ機能はAspose.Cells for for Python via .NETを使用して、DataSorterで提供されています。SortOnTypeによって、add_key()で背景色に基づいてデータをソートすることができます。add_key()内で指定された色を含むすべてのセルは、SortOrderの設定に従ってトップまたはボトムに配置され、残りのセルの順序は全く変更されません。

これがこの機能のテストにダウンロードできるサンプルファイルです。

sampleBackGroundFile.xlsx

outputsampleBackGroundFile.xlsx

from aspose.cells import CellArea, SortOnType, SortOrder, Workbook
from aspose.pydrawing import Color
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Create a workbook object and load template file
workbook = Workbook(sourceDir + "CellsNet46500.xlsx")
# Instantiate data sorter object
sorter = workbook.data_sorter
# Add key for second column for red color
sorter.add_key(1, SortOnType.CELL_COLOR, SortOrder.DESCENDING, Color.red)
# Sort the data based on the key
sorter.sort(workbook.worksheets[0].cells, CellArea.create_cell_area("A2", "C6"))
# Save the output file
workbook.save(outputDir + "outputSortData_CustomSortList.xlsx")

高度なトピック