Data Sortering

Sortering av data i Microsoft Excel

För att sortera data i Microsoft Excel:

  1. Välj Data från Sortera-menyn. Sorteringsdialogrutan visas.
  2. Välj ett sorteringsalternativ.

I allmänhet utförs sortering på en lista - definierad som en sammanhängande grupp data där data visas i kolumner.

Sorteringsdialogrutan i Microsoft Excel

todo:image_alt_text

Sortera data med Aspose.Cells

Aspose.Cells tillhandahåller DataSorter-klassen som används för att sortera data i stigande eller fallande ordning. Klassen har några viktiga medlemmar, till exempel metoder som setKey1setKey2 och setOrder1setOrder2. Dessa medlemmar används för att definiera sorterade nycklar och ange sorteringsordning för nyckeln.

Du måste definiera nycklar och ange sorteringsordningen innan du implementerar datasortering. Klassen tillhandahåller metoden sort som används för att utföra datasortering baserat på celldata i ett arbetsblad.

Metoden sort accepterar följande parametrar:

  • Cells, arbetsbladets celler.
  • CellArea, cellområdet. Definiera cellområdet innan du tillämpar datasortering.

Detta exempel visar hur man sorterar data med hjälp av Aspose.Cells API. Exemplet använder en mallfil “Book1.xls” och sorterar data för dataraden (A1:B14) på det första arket:

Detta exempel använder mallfilen “Book1.xls” skapad i Microsoft Excel.

Mall för Excel-fil komplett med data

todo:image_alt_text

Efter att koden nedan har körts är data sorterad korrekt som du kan se från den utdata Excel-filen.

Utdata Excel-fil efter sorteringsdata

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

Sortera data med bakgrundsfärg

Excel tillhandahåller funktionen att sortera data baserat på bakgrundsfärg. Samma funktion tillhandahålls med hjälp av Aspose.Cells med DataSorter, där SortOnType.CELL_COLOR kan användas i addKey() för att sortera data baserat på bakgrundsfärg. Alla celler som innehåller angiven färg i addKey()-funktionen placeras överst eller längst ned enligt SortOrder-inställningen och ordningen för resten av cellerna ändras inte alls.

Följande är provfiler som kan laddas ned för att testa denna funktion:

sampleBackGroundFile.xlsx

outputsampleBackGroundFile.xlsx

Exempelkod

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

Fortsatta ämnen