Ordenación de Datos

Ordenar Datos en Microsoft Excel

Para ordenar datos en Microsoft Excel:

  1. Seleccione Datos del menú Ordenar. Se mostrará el cuadro de diálogo Ordenar.
  2. Seleccione una opción de ordenación.

Generalmente, la ordenación se realiza en una lista - definida como un grupo contiguo de datos donde los datos se muestran en columnas.

Ordenación de datos con Aspose.Cells

La Aspose.Cells for Node.js via C++ proporciona la clase DataSorter utilizada para ordenar datos en orden ascendente o descendente. La clase tiene algunos miembros importantes, por ejemplo, propiedades como Key1 … Key3 y Order1 … Order3. Estos miembros se usan para definir las claves ordenadas y especificar el orden de ordenación de las claves.

Debes definir claves y establecer el orden de clasificación antes de implementar la clasificación de datos. La clase proporciona el método DataSorter.sort utilizado para realizar la clasificación de datos basada en los datos de las celdas en una hoja de cálculo.

El método DataSorter.sort acepta los siguientes parámetros:

  • Cells, las celdas para la hoja de cálculo subyacente.
  • CellArea, el rango de celdas. Define el área de celdas antes de aplicar la clasificación de datos.

Este ejemplo utiliza el archivo de plantilla “Book1.xls” creado en Microsoft Excel. Después de ejecutar el código a continuación, los datos se clasifican adecuadamente.

//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");

Clasificación de datos con color de fondo

Excel ofrece funciones para ordenar datos según el color de fondo. La misma función se proporciona con Aspose.Cells for Node.js via C++ usando DataSorter, donde SortOnType.CellColor puede usarse en DataSorter.addKey para ordenar datos basados en el color de fondo. Todas las celdas que contienen el color especificado en la función DataSorter.addKey se colocan en la parte superior o inferior según la configuración SortOrder, y el orden del resto de las celdas no se altera.

A continuación se muestran los archivos de muestra que se pueden descargar para probar esta característica:

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");

Temas avanzados