Sort excel data

  • VSTO
  • Spire.XLS
  • Download Sample Code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

namespace VSTO
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            //Open the workbook file
            Excel.Application ExcelApp = Application;
            Excel.Workbook workbook = ExcelApp.Application.Workbooks.Open("C:\\Sample.xlsx");

            //Get the first sheet
            Excel.Worksheet sheet = (Excel.Worksheet)workbook.Sheets["Sheet1"];

            //Sort the specified range
            Excel.Range range = sheet.get_Range("A1:A7");
            range.Sort(range.Columns[1], Excel.XlSortOrder.xlAscending,
                       missing, missing, Excel.XlSortOrder.xlAscending,
                       missing, Excel.XlSortOrder.xlAscending,
                       Excel.XlYesNoGuess.xlNo, missing, missing,
                       Excel.XlSortOrientation.xlSortColumns,
                       Excel.XlSortMethod.xlPinYin,
                       Excel.XlSortDataOption.xlSortNormal,
                       Excel.XlSortDataOption.xlSortNormal,
                       Excel.XlSortDataOption.xlSortNormal);

            //Save
            workbook.SaveAs("SortedExcel.xlsx");
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Spire.Xls;

namespace Spire.XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //Load Document
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("C:\\Sample.xlsx");
            Worksheet worksheet = workbook.Worksheets[0];

            //Append the sort column index and order by attributes 
            workbook.DataSorter.SortColumns.Add(0, OrderBy.Ascending);

            //Set the range to sort
            workbook.DataSorter.Sort(worksheet["A1:A7"]);

            //Save and Launch
            workbook.SaveToFile("SortedExcel.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("SortedExcel.xlsx");

        }
    }
}