The following program open an Excel and save to CSV.
Reference to Microsfot.Office.Interop.Excel
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook;
Microsoft.Office.Interop.Excel.Sheets sheets;
Microsoft.Office.Interop.Excel.Worksheet worksheet;
//don't use 'two dots' such as workbook = app.workbooks.open(path), this will create all the com objects on the path and make it hard to be released
workbooks = app.Workbooks;
workbook = workbooks.Open(path);
sheets = workbook.Worksheets;
worksheet = sheets[1];
worksheet.SaveAs(file_full_path, Microsoft.Office.Interop.Excel.XlFileFormat.xlCSVWindows,
false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
workbook.Close(true, Type.Missing, Type.Missing);//save changes = true, so it won't prompt to save or discard
//release the com objects are important, otherwise it will keep the process EXCEL.exe running in the background
GC.Collect();
GC.WaitForPendingFinalizers();
System.Runtime.InteropServices.Marshal.ReleaseComObject(sheets);
System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);