カスタムソートリストで列内のデータをソートする

可能な使用シナリオ

カスタムリストを使用して列内のデータをソートすることができます。これはDataSorter.AddKey(int key, SortOrder order, String customList)メソッドを使用して行われます。ただし、このメソッドは、カスタムリストのアイテムにカンマが含まれていない場合のみ機能します。“USA, US”、“China, CN"などのようにカンマが含まれている場合、DataSorter.AddKey(int key, SortOrder order, String customList)メソッドを使用する必要があります。ここでは、最後のパラメータは文字列ではなく、文字列の配列です。

カスタムソートリストを使用した列内のデータの並べ替え

次のサンプルコードでは、DataSorter.AddKey(int key, SortOrder order, String[] customList) メソッドを使用してカスタムソートリストでデータをソートする方法を説明しています。このコードで使用されるsample Excel file と、それによって生成されたoutput Excel fileをご覧ください。次のスクリーンショットは、サンプルExcelファイルに対するコードの効果を示しています。

todo:image_alt_text

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Load the source Excel file
Workbook wb = new Workbook(srcDir + "sampleSortData_CustomSortList.xlsx");
//Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
//Specify cell area - sort from A1 to A40
CellArea ca = CellArea.createCellArea("A1", "A40");
//Create Custom Sort list
String[] customSortList = new String[] { "USA,US", "Brazil,BR", "China,CN", "Russia,RU", "Canada,CA" };
//Add Key for Column A, Sort it in Ascending Order with Custom Sort List
wb.getDataSorter().addKey(0, SortOrder.ASCENDING, customSortList);
wb.getDataSorter().sort(ws.getCells(), ca);
//Save the output Excel file
wb.save(outDir + "outputSortData_CustomSortList.xlsx");