Sort Excel Ranges in C#

Arranging data in alphabetical or value order makes human analysis of data feasible in Microsoft Excel. IronXL makes sorting Excel Columns, Rows, and Ranges extremely simple in C# and VB.NET.

Use the SortAscending or SortDescending methods on the selected range or column to apply sorting in the appropriate order. The SortByColumn method, however, requires two parameters: The first input is the column intended to be sorted and the second input is the sorting order.

Here is an example of how you can sort data using C#:

using IronXL; class ExcelSorter { static void Main(string[] args) { // Load the Excel file WorkBook workbook = WorkBook.Load("example.xlsx"); // Select the first worksheet WorkSheet sheet = workbook.WorkSheets.First(); // To sort the entire sheet in ascending order based on the first column sheet.SortAscending(sheet["A"]); // Alternatively, sort a specific range in descending order sheet.SortDescending(sheet["A2:A10"]); // Using SortByColumn method to sort by specific column in ascending order sheet.SortByColumn("B", ExcelSortOrder.Ascending); // Save the modified workbook workbook.SaveAs("sorted_example.xlsx"); } }
using IronXL; class ExcelSorter { static void Main(string[] args) { // Load the Excel file WorkBook workbook = WorkBook.Load("example.xlsx"); // Select the first worksheet WorkSheet sheet = workbook.WorkSheets.First(); // To sort the entire sheet in ascending order based on the first column sheet.SortAscending(sheet["A"]); // Alternatively, sort a specific range in descending order sheet.SortDescending(sheet["A2:A10"]); // Using SortByColumn method to sort by specific column in ascending order sheet.SortByColumn("B", ExcelSortOrder.Ascending); // Save the modified workbook workbook.SaveAs("sorted_example.xlsx"); } }
Imports IronXL Friend Class ExcelSorter	Shared Sub Main(ByVal args() As String)	' Load the Excel file	Dim workbook As WorkBook = WorkBook.Load("example.xlsx")	' Select the first worksheet	Dim sheet As WorkSheet = workbook.WorkSheets.First()	' To sort the entire sheet in ascending order based on the first column	sheet.SortAscending(sheet("A"))	' Alternatively, sort a specific range in descending order	sheet.SortDescending(sheet("A2:A10"))	' Using SortByColumn method to sort by specific column in ascending order	sheet.SortByColumn("B", ExcelSortOrder.Ascending)	' Save the modified workbook	workbook.SaveAs("sorted_example.xlsx")	End Sub End Class
$vbLabelText   $csharpLabel

Explanation:

  • Loading the workbook: First, we load an existing Excel file using WorkBook.Load("example.xlsx").
  • Selecting a worksheet: The line WorkSheet sheet = workbook.WorkSheets.First() selects the first worksheet in the Excel file.
  • Sorting the entire sheet: sheet.SortAscending(sheet["A"]); sorts data in the entire sheet based on column A in ascending order.
  • Sorting a specific range: sheet.SortDescending(sheet["A2:A10"]); sorts data within the range A2 to A10 in descending order.
  • Sorting by column: The SortByColumn method sorts data by a specific column, allowing you to specify the sort order (ascending or descending). In this example, we sort column B in ascending order.
  • Saving the workbook: Lastly, the modified workbook is saved using workbook.SaveAs("sorted_example.xlsx").

For an example in VB.NET, the syntax and comments can be similarly structured to maintain clarity and functionality.