I am doing it something like this. This is working for me in win 7. Have a look Please
private void CreateExcellFile(string submittedFullPath)
{
Ex.Application exelApp = null;
Ex.Workbook exelWorkBook = null;
Ex.Worksheet exelWorkSheet = null;
object misValue = System.Reflection.Missing.Value;
try
{
exelApp = new Ex.ApplicationClass();
if (exelApp != null)
{
if (exelApp.Workbooks != null)
{
exelWorkBook = exelApp.Workbooks.Add(misValue);
}
}
if (exelWorkBook != null)
{
exelWorkSheet = (Ex.Worksheet)exelWorkBook.Worksheets.get_Item(1);
if (exelWorkSheet != null)
{
exelWorkSheet.Cells[1, 1] = "Title";
exelWorkSheet.Cells[1, 2] = "FirstName";
exelWorkSheet.Cells[1, 3] = "Surname";
exelWorkSheet.Cells[1, 4] = "Email";
exelWorkSheet.Cells[1, 5] = "TelePhoneNumber";
exelWorkSheet.Cells[1, 6] = "OrderNumber";
exelWorkSheet.Cells[1, 7] = "SubmissionDate";
}
exelWorkBook.SaveAs(submittedFullPath, Ex.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Ex.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
}
}
catch
{
}
finally
{
if (exelWorkBook != null)
{
exelWorkBook.Close(true, misValue, misValue);
}
if (exelApp != null)
{
exelApp.Quit();
}
}
this.ReleaseObject(exelWorkSheet);
this.ReleaseObject(exelWorkBook);
this.ReleaseObject(exelApp);
}
Here Ex = Microsoft.Office.Interop.Excel;
private void ReleaseObject(object submittedObj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(submittedObj);
submittedObj = null;
}
catch
{
submittedObj = null;
}
finally
{
GC.Collect();
}
}