Datasortering
Sortera data i Microsoft Excel
Så här sorterar du data i Microsoft Excel:
- VäljData frånSortera meny. Dialogrutan Sortera kommer att visas.
- Välj ett sorteringsalternativ.
I allmänhet utförs sortering på en lista - definierad som en sammanhängande grupp av data där data visas i kolumner.
Sortera data med Aspose.Cells
Aspose.Cells tillhandahållerDataSorterklass som används för att sortera data i stigande eller fallande ordning. Klassen har några viktiga medlemmar, till exempel egenskaper som Key1 … Key3 och Order1 … Order3. Dessa medlemmar används för att definiera sorterade nycklar och specificera nyckelsorteringsordningen.
Du måste definiera nycklar och ställa in sorteringsordningen innan du implementerar datasortering. Klassen tillhandahållerSorterametod som används för att utföra datasortering baserat på celldata i ett kalkylblad.
DeSorterametoden accepterar följande parametrar:
- Aspose.Cells.Cells, cellerna för det underliggande kalkylbladet.
- Aspose.Cells.CellArea, cellintervallet. Definiera cellområdet innan du tillämpar datasortering.
Det här exemplet använder mallfilen “Book1.xls” skapad i Microsoft Excel. Efter att ha kört koden nedan sorteras data på lämpligt sätt.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a new Workbook object. | |
// Load a template file. | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Get the workbook datasorter object. | |
DataSorter sorter = workbook.DataSorter; | |
// Set the first order for datasorter object. | |
sorter.Order1 = Aspose.Cells.SortOrder.Descending; | |
// Define the first key. | |
sorter.Key1 = 0; | |
// Set the second order for datasorter object. | |
sorter.Order2 = Aspose.Cells.SortOrder.Ascending; | |
// Define the second key. | |
sorter.Key2 = 1; | |
// Create a cells area (range). | |
CellArea ca = new 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.Worksheets[0].Cells, ca); | |
// Save the excel file. | |
workbook.Save(dataDir + "output.out.xls"); |
Sortera data med bakgrundsfärg
Excel tillhandahåller funktioner för att sortera data baserat på bakgrundsfärgen. Samma funktion tillhandahålls med Aspose.Cells med DataSorter därSortOnType .CellColor kan användas iAddKey() för att sortera data baserat på bakgrundsfärgen. Alla celler som innehåller specificerad färg iAddKey(), funktionen placeras på toppen eller botten enligt SortOrder-inställningen och ordningen på resten av cellerna ändras inte alls.
Följande är exempelfilerna som kan laddas ner för att testa den här funktionen:
outputsampleBackGroundFile.xlsx
// 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 | |
Workbook workbook = new Workbook(sourceDir + "CellsNet46500.xlsx"); | |
// Instantiate data sorter object | |
DataSorter sorter = workbook.DataSorter; | |
// Add key for second column for red color | |
sorter.AddKey(1, SortOnType.CellColor, SortOrder.Descending, Color.Red); | |
// Sort the data based on the key | |
sorter.Sort(workbook.Worksheets[0].Cells, CellArea.CreateCellArea("A2", "C6")); | |
// Save the output file | |
workbook.Save(outputDir + "outputSortData_CustomSortList.xlsx"); |