データソート
データソートは、Microsoft Excel の多くの便利な機能の1つです。これにより、データを整理してスキャンしやすくすることができます。
Aspose.Cells では、ワークシートデータをアルファベット順または数値順にソートすることができます。データのソートは、Microsoft Excel と同様の方法で機能します。
Microsoft Excel でのデータのソート
Microsoft Excel でデータをソートするには:
- ソート メニューから データ を選択します。 ソートダイアログが表示されます。
- ソートオプションを選択します。
一般的に、ソートはリスト上で実行されます。リストは、データが列に表示される連続したグループと定義されます。
Microsoft Excel のソートダイアログボックス
Aspose.Cells でのデータのソート
Aspose.Cells は、昇順または降順でデータをソートするために使用する DataSorter クラスを提供しています。このクラスには、setKey1 メソッドなどの重要なメンバーがあります。これらのメンバーは、ソートされたキーを定義し、キーのソート順序を指定するために使用されます。
データソートを実装する前に、キーを定義してソート順を設定する必要があります。このクラスは、ワークシート内のセルデータに基づいてデータのソートを実行するために使用される sort メソッドを提供しています。
sort メソッドは、以下のパラメータを受け入れます:
この例では、Aspose.Cells API を使用してデータをソートする方法を示します。この例では、テンプレートファイル「Book1.xls」を使用し、最初のワークシートのデータ範囲(A1:B14)をソートします。
この例では、Microsoft Excel で作成されたテンプレートファイル「Book1.xls」を使用します。
データが入ったテンプレートのExcelファイル完了
以下のコードを実行した後、出力されたExcelファイルから適切にデータがソートされていることがわかります。
データがソートされた後の出力Excelファイル
// 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 の設定とその他のセルの順序に従って、先頭または最後尾に配置されます。
これがこの機能のテストにダウンロードできるサンプルファイルです。
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); |