فرز البيانات في العمود بقائمة فرز مخصصة
سيناريوهات الاستخدام المحتملة
يمكنك فرز البيانات في العمود باستخدام قائمة مخصصة. يمكن ذلك باستخدام DataSorter.AddKey(int key, SortOrder order, String customList) . ومع ذلك، تعمل هذه الطريقة فقط إذا لم تحتوي العناصر في القائمة المخصصة على فواصل داخلها. إذا كانت تحتوي على فواصل مثل “USA, US”، “China, CN” إلخ، يجب عليك استخدام DataSorter.AddKey(int key, SortOrder order, String customList) . هنا، المعامل الأخير ليس String بل مصفوفة من Strings.
فرز البيانات في العمود بقائمة فرز مخصصة
الكود المثالي التالي يوضح كيفية استخدام الطريقة DataSorter.AddKey(int key, SortOrder order, String[] customList) لفرز البيانات بقائمة فرز مخصصة. يرجى الاطلاع على ملف الإكسل عينة المستخدم في هذا الكود وملف الإكسل الناتج المولد منه. الشاشة التالية تظهر تأثير الكود على ملف الإكسل عينة عند التنفيذ.
الكود المثالي
// 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"); |