you can easily, with just one method call, export http://www.gemboxsoftware.com/LA/Import-Export-DataTable-XLS-XLSX-CSV-HTML-.NET.htm with this http://www.gemboxsoftware.com/GBSpreadsheet.htm library.
Here is a sample http://www.gemboxsoftware.com/GBSpreadsheet.htm code how to export http://www.gemboxsoftware.com/LA/Import-Export-DataSet-XLS-XLSX-CSV-HTML-.NET.htm:
// Create new ExcelFile.
var ef = new ExcelFile();
// Imports all the tables from DataSet to new file.
foreach (DataTable dataTable in dataSet.Tables)
{
// Add new worksheet to the file.
var ws = ef.Worksheets.Add(dataTable.TableName);
// Insert the data from DataTable to the worksheet starting at cell "A1".
ws.InsertDataTable(dataTable, "A1", true);
}
// Save the file to XLS format.
ef.SaveXls("DataSet.xls");