Ordinamento dei dati
L’ordinamento dei dati è una delle tante utili funzionalità di Microsoft Excel. Consente agli utenti di ordinare i dati per renderli più facili da esaminare.
Aspose.Cells consente di ordinare i dati del foglio di lavoro in modo alfabetico o numerico. Funziona allo stesso modo di Microsoft Excel per ordinare i dati.
Ordinare i dati in Microsoft Excel
Per ordinare i dati in Microsoft Excel:
- Seleziona Dati dal menu Ordina. Viene 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.
La finestra di dialogo Ordina in Microsoft Excel
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 setKey1 … setKey2 e setOrder1 … setOrder2. 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
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
// 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à:
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); |