Tri des données

Triage des données dans Microsoft Excel

Pour trier les données dans Microsoft Excel :

  1. Sélectionnez Données dans le menu Trier. La boîte de dialogue Trier s’affiche.
  2. Sélectionnez une option de tri.

En général, le tri est effectué sur une liste - définie comme un groupe de données contiguës où les données sont affichées dans des colonnes.

Trier les données avec Aspose.Cells

Aspose.Cells fournit la classe DataSorter utilisée pour trier les données par ordre croissant ou décroissant. La classe a des membres importants, par exemple, des propriétés comme Key1 … Key3 et Order1 … Order3. Ces membres sont utilisés pour définir les clés triées et spécifier l’ordre de tri des clés.

Vous devez définir les clés et définir l’ordre de tri avant de mettre en œuvre le tri des données. La classe fournit la méthode Sort utilisée pour effectuer le tri des données en fonction des données de cellule dans une feuille de calcul.

La méthode Sort accepte les paramètres suivants :

Cet exemple utilise le fichier modèle “Book1.xls” créé dans Microsoft Excel. Après l’exécution du code ci-dessous, les données sont triées correctement.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiate a new Workbook object.
// Load a template file.
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Get the workbook datasorter object.
DataSorter sorter = workbook.DataSorter;
// Set the first order for datasorter object.
sorter.Order1 = Aspose.Cells.SortOrder.Descending;
// Define the first key.
sorter.Key1 = 0;
// Set the second order for datasorter object.
sorter.Order2 = Aspose.Cells.SortOrder.Ascending;
// Define the second key.
sorter.Key2 = 1;
// Create a cells area (range).
CellArea ca = new CellArea();
// Specify the start row index.
ca.StartRow = 0;
// Specify the start column index.
ca.StartColumn = 0;
// Specify the last row index.
ca.EndRow = 13;
// Specify the last column index.
ca.EndColumn = 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");

Tri des données avec couleur de fond

Excel propose des fonctionnalités pour trier les données en fonction de la couleur de fond. La même fonctionnalité est fournie en utilisant Aspose.Cells en utilisant DataSorter où SortOnType.CellColor peut être utilisé dans AddKey() pour trier les données en fonction de la couleur de fond. Toutes les cellules qui contiennent la couleur spécifiée dans le AddKey(), la fonction sont placées en haut ou en bas en fonction du paramètre SortOrder et l’ordre des autres cellules n’est pas du tout modifié.

Voici les fichiers d’exemple qui peuvent être téléchargés pour tester cette fonctionnalité :

sampleBackGroundFile.xlsx

outputsampleBackGroundFile.xlsx

// 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 = new Workbook(sourceDir + "CellsNet46500.xlsx");
// Instantiate data sorter object
DataSorter sorter = workbook.DataSorter;
// Add key for second column for red color
sorter.AddKey(1, SortOnType.CellColor, SortOrder.Descending, Color.Red);
// Sort the data based on the key
sorter.Sort(workbook.Worksheets[0].Cells, CellArea.CreateCellArea("A2", "C6"));
// Save the output file
workbook.Save(outputDir + "outputSortData_CustomSortList.xlsx");

Sujets avancés