I have a working code that exports SQL Server data to Excel.

```
public static void ExportToExcel(DataTable dt)
{
        // Create sql connection string
        string conString = "Data Source=DELL\\SQLSERVER1;Trusted_Connection=True;DATABASE=Test;CONNECTION RESET=FALSE";
        SqlConnection sqlCon = new SqlConnection(conString);
        sqlCon.Open();

        SqlDataAdapter da = new SqlDataAdapter("select * from tStudent", sqlCon);
        System.Data.DataTable dtMainSQLData = new System.Data.DataTable();
        da.Fill(dtMainSQLData);
        DataColumnCollection dcCollection = dtMainSQLData.Columns;

        // Export Data into EXCEL Sheet
        Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
        ExcelApp.Application.Workbooks.Add(Type.Missing);

        //ExcelApp.Cells.CopyFromRecordset(objRS);
        for (int i = 1; i < dtMainSQLData.Rows.Count + 1; i++)
        {
            for (int j = 1; j < dtMainSQLData.Columns.Count + 1; j++)
            {
                if (i == 1)
                    ExcelApp.Cells[i, j] = dcCollection[j - 1].ToString();
                else
                    ExcelApp.Cells[i, j] = dtMainSQLData.Rows[i - 1][j - 1].ToString();
            }
        }
        ExcelApp.ActiveWorkbook.SaveCopyAs("C:/Users/Administrator.CAMO/Downloads/FtpFilesStorage/Sheet1.xlsx");
        ExcelApp.ActiveWorkbook.Saved = true;
        ExcelApp.Quit();

        Console.WriteLine(".xlsx file Exported succssessfully.");
}

```

And I am using this method in `Main()` like this: 

```
System.Data.DataTable dtMainSQLData = new System.Data.DataTable();
ExportToExcel(dtMainSQLData);

```

This works fine but the first row is not copied or exported from the original table in SQL Server.