Forget about using interop, you will have to have excel installed locally. The best 3rd party tool I have ever used with excel is Gembox Spreedsheet and it's free:
http://www.gemboxsoftware.com/
There are full articles on how to use the software in the support tab on the site. Here's an example of how easy it is to insert data to excel from a dataset:
// Create new ExcelFile.
ExcelFile ef2 = new ExcelFile();
// Imports all the tables from DataSet to new file.
foreach (DataTable dataTable in dataSet.Tables)
{
// Add new worksheet to the file.
ExcelWorksheet ws = ef2.Worksheets.Add(dataTable.TableName);
// Change the value of the first cell in the DataTable.
dataTable.Rows[0][0] = "This is new file!";
// Insert the data from DataTable to the worksheet starting at cell "A1".
ws.InsertDataTable(dataTable, "A1", true);
}
// Save the file to XLS format.
ef2.SaveXls("DataSet.xls");
You can read and write to files with openXML like this:
ExcelFile ef = new ExcelFile();
// Loads OpenXML file.
ef.LoadXlsx("filename.xlsx", XlsxOptions.None);
// Selects first worksheet.
ExcelWorksheet ws = ef.Worksheets[0];
// Change the value of the cell "A1".
ws.Cells["A1"].Value = "Hello world!";
// Saves the file in OpenXML format.
ef.SaveXlsx("NewFile.xlsx")
I have used this .Net component many times with great success and minimal amount of code.