Ordinamento dei dati
Ordinare i dati in Microsoft Excel
Per ordinare i dati in Microsoft Excel:
- Seleziona Dati dal menu Ordina. Verrà visualizzata la finestra di dialogo Ordina.
- Seleziona un’opzione di ordinamento.
In genere, l’ordinamento viene eseguito su un elenco - definito come un gruppo contiguo di dati in cui i dati sono visualizzati in colonne.
Ordinare i dati con Aspose.Cells
Aspose.Cells for Node.js via C++ fornisce la classe DataSorter usata per ordinare i dati in ordine crescente o decrescente. La classe ha alcuni membri importanti, ad esempio, proprietà come Key1 … Key3 e Order1 … Order3. Questi membri vengono usati per definire le chiavi ordinate e specificare l’ordine di ordinamento delle chiavi.
È necessario definire le chiavi e impostare l’ordine di ordinamento prima di implementare l’ordinamento dei dati. La classe fornisce il metodo DataSorter.sort utilizzato per eseguire l’ordinamento dei dati in base ai dati della cella in un foglio di lavoro.
Il metodo DataSorter.sort accetta i seguenti parametri:
- Cells, le celle per il foglio di lavoro sottostante.
- CellArea, l’intervallo di celle. Definire l’area delle celle prima di applicare l’ordinamento dei dati.
Questo esempio utilizza il file di modello “Book1.xls” creato in Microsoft Excel. Dopo l’esecuzione del codice seguente, i dati vengono ordinati in modo appropriato.
//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"); |
Ordinamento dati con il colore di sfondo
Excel fornisce funzioni per ordinare i dati basandosi sul colore di sfondo. La stessa funzione è disponibile anche tramite Aspose.Cells for Node.js via C++ usando DataSorter, dove SortOnType.CellColor può essere usato in DataSorter.addKey per ordinare i dati in base al colore di sfondo. Tutte le celle che contengono il colore specificato in DataSorter.addKey, funzione, vengono posizionate in alto o in basso secondo l’impostazione SortOrder e l’ordine delle restanti celle non viene modificato.
Di seguito sono riportati i file di esempio che possono essere scaricati per testare questa funzionalità:
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"); |