データソート

Microsoft Excel でのデータのソート

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

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

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

Microsoft Excel のソートダイアログボックス

todo:image_alt_text

Aspose.Cells でのデータのソート

Aspose.Cells は、昇順または降順でデータをソートするために使用する DataSorter クラスを提供しています。このクラスには、setKey1 メソッドなどの重要なメンバーがあります。これらのメンバーは、ソートされたキーを定義し、キーのソート順序を指定するために使用されます。

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

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

  • Cells、ワークシートのセル。
  • CellArea、セル範囲。データソーティングを適用する前にセル領域を定義します。

この例では、Aspose.Cells API を使用してデータをソートする方法を示します。この例では、テンプレートファイル「Book1.xls」を使用し、最初のワークシートのデータ範囲(A1:B14)をソートします。

この例では、Microsoft Excel で作成されたテンプレートファイル「Book1.xls」を使用します。

データが入ったテンプレートのExcelファイル完了

todo:image_alt_text

以下のコードを実行した後、出力されたExcelファイルから適切にデータがソートされていることがわかります。

データがソートされた後の出力Excelファイル

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(DataSorting.class) + "data/";
// Instantiate a new Workbook object.
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Get the workbook datasorter object.
DataSorter sorter = workbook.getDataSorter();
// Set the first order for datasorter object.
sorter.setOrder1(SortOrder.DESCENDING);
// Define the first key.
sorter.setKey1(0);
// Set the second order for datasorter object.
sorter.setOrder2(SortOrder.ASCENDING);
// Define the second key.
sorter.setKey2(1);
// Sort data in the specified data range (CellArea range: A1:B14)
CellArea cellArea = new CellArea();
cellArea.StartRow = 0;
cellArea.StartColumn = 0;
cellArea.EndRow = 13;
cellArea.EndColumn = 1;
sorter.sort(workbook.getWorksheets().get(0).getCells(), cellArea);
// Save the excel file.
workbook.save(dataDir + "DataSorting_out.xls");
// Print message
System.out.println("Sorting Done Successfully");

背景色でデータをソートする

Excel は、背景色に基づいてデータをソートする機能を提供しています。この機能は、Aspose.Cells を使用して DataSorter を使って同じ機能が提供されます。addKey() 内で SortOnType.CELL_COLOR を使用して、背景色に基づいてデータをソートします。指定した色が含まれる指定されたセル内のすべてのセルは、SortOrder の設定とその他のセルの順序に従って、先頭または最後尾に配置されます。

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

sampleBackGroundFile.xlsx

outputsampleBackGroundFile.xlsx

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Load the Excel file.
Workbook wb = new Workbook(srcDir + "sampleInlineCharts.xlsx");
// Access the sheet
Worksheet ws = wb.getWorksheets().get(0);
// Set the print area.
ws.getPageSetup().setPrintArea("D2:M20");
// Initialize HtmlSaveOptions
HtmlSaveOptions options = new HtmlSaveOptions();
// Set flag to export print area only
options.setExportPrintAreaOnly(true);
//Save to HTML format
wb.save(outDir + "outputInlineCharts.html",options);

高度なトピック