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 for Node.js via C++ fournit la classe DataSorter utilisée pour trier les données par ordre croissant ou décroissant. La classe possède 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 DataSorter.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 DataSorter.sort accepte les paramètres suivants :

  • Cells, les cellules de la feuille de calcul sous-jacente.
  • CellArea, la plage de cellules. Définissez la zone de cellules avant d’appliquer le tri des données.

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
const AsposeCells = require("aspose.cells.node");
// Instantiate a new Workbook object.
// Load a template file.
var workbook = new AsposeCells.Workbook("book1.xls");
// Get the workbook datasorter object.
var sorter = workbook.getDataSorter();
// Set the first order for datasorter object.
sorter.setOrder1(AsposeCells.SortOrder.Descending);
// Define the first key.
sorter.setKey1(0);
// Set the second order for datasorter object.
sorter.setOrder2(AsposeCells.SortOrder.Ascending);
// Define the second key.
sorter.setKey2(1);
// Create a cells area (range).
var ca = new AsposeCells.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.getWorksheets().get(0).getCells(), ca);
// Save the excel file.
workbook.save("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 via Aspose.Cells for Node.js via C++ en utilisant DataSorter où SortOnType.CellColor peut être utilisé dans DataSorter.addKey pour trier les données en fonction de la couleur de fond. Toutes les cellules contenant la couleur spécifiée dans la fonction DataSorter.addKey sont placées en haut ou en bas selon le paramètre SortOrder, et l’ordre des autres cellules n’est pas 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
const AsposeCells = require("aspose.cells.node");
// 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
var workbook = new AsposeCells.Workbook("CellsNet46500.xlsx");
// Instantiate data sorter object
var sorter = workbook.getDataSorter();
// Add key for second column for red color
sorter.addKey(1, AsposeCells.SortOnType.CellColor, AsposeCells.SortOrder.Descending, AsposeCells.Color.Red);
// Sort the data based on the key
sorter.sort(workbook.getWorksheets().get(0).getCells(), AsposeCells.CellArea.createCellArea("A2", "C6"));
// Save the output file
workbook.save("outputSortData_CustomSortList.xlsx");

Sujets avancés