Ordinamento dei dati

Ordinare i dati in Microsoft Excel

Per ordinare i dati in Microsoft Excel:

  1. Seleziona Dati dal menu Ordina. Viene visualizzata la finestra di dialogo Ordina.
  2. 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.

La finestra di dialogo Ordina in Microsoft Excel

todo:image_alt_text

Ordinare i dati con Aspose.Cells

Aspose.Cells fornisce la classe DataSorter utilizzata per ordinare i dati in ordine crescente o decrescente. La classe ha alcuni membri importanti, ad esempio, metodi come setKey1setKey2 e setOrder1setOrder2. Questi membri vengono utilizzati per definire le chiavi di ordinamento 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 sort utilizzato per eseguire l’ordinamento dei dati in base ai dati della cella in un foglio di lavoro.

Il metodo sort accetta i seguenti parametri:

  • Cells, le celle del foglio di lavoro.
  • CellArea, l’intervallo di celle. Definire l’area delle celle prima di applicare l’ordinamento dei dati.

Questo esempio mostra come ordinare i dati utilizzando l’API Aspose.Cells. L’esempio utilizza un file di modello “Book1.xls” e ordina i dati per l’intervallo dati (A1:B14) nel primo foglio di lavoro:

Questo esempio utilizza il file di modello “Book1.xls” creato in Microsoft Excel.

Modello di file Excel completo di dati

todo:image_alt_text

Dopo aver eseguito il codice sottostante, i dati vengono ordinati correttamente come puoi vedere dal file di output Excel.

File Excel di output dopo l’ordinamento dei dati

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(DataSorting.class) + "data/";
// Instantiate a new Workbook object.
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Get the workbook datasorter object.
DataSorter sorter = workbook.getDataSorter();
// Set the first order for datasorter object.
sorter.setOrder1(SortOrder.DESCENDING);
// Define the first key.
sorter.setKey1(0);
// Set the second order for datasorter object.
sorter.setOrder2(SortOrder.ASCENDING);
// Define the second key.
sorter.setKey2(1);
// Sort data in the specified data range (CellArea range: A1:B14)
CellArea cellArea = new CellArea();
cellArea.StartRow = 0;
cellArea.StartColumn = 0;
cellArea.EndRow = 13;
cellArea.EndColumn = 1;
sorter.sort(workbook.getWorksheets().get(0).getCells(), cellArea);
// Save the excel file.
workbook.save(dataDir + "DataSorting_out.xls");
// Print message
System.out.println("Sorting Done Successfully");

Ordinamento dati con il colore di sfondo

Excel fornisce la funzionalità per ordinare i dati in base al colore di sfondo. La stessa funzionalità è fornita utilizzando Aspose.Cells utilizzando DataSorter dove SortOnType.CELL_COLOR può essere utilizzato in addKey() per ordinare i dati in base al colore di sfondo. Tutte le celle che contengono il colore specificato nella addKey(), funzione vengono posizionate in cima o in fondo in base all’impostazione dell’Ordine di ordinamento e l’ordine delle restanti celle non viene affatto modificato.

Di seguito sono riportati i file di esempio che possono essere scaricati per testare questa funzionalità:

sampleBackGroundFile.xlsx

outputsampleBackGroundFile.xlsx

Codice di Esempio

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Load the Excel file.
Workbook wb = new Workbook(srcDir + "sampleInlineCharts.xlsx");
// Access the sheet
Worksheet ws = wb.getWorksheets().get(0);
// Set the print area.
ws.getPageSetup().setPrintArea("D2:M20");
// Initialize HtmlSaveOptions
HtmlSaveOptions options = new HtmlSaveOptions();
// Set flag to export print area only
options.setExportPrintAreaOnly(true);
//Save to HTML format
wb.save(outDir + "outputInlineCharts.html",options);

Argomenti avanzati