Взаимодействие с Excel довольно болезненно. Я откопал свой старый проект, немного поиграл, и думаю, это то, что ты ищешь. Другие комментаторы правы, но, по моему опыту, вызов SaveAs () намного больше, чем можно было бы ожидать, если бы вы использовали те же объекты (без оболочки взаимодействия) в VBA.
Microsoft.Office.Interop.Excel.Workbook wbk = excelApplication.Workbooks[0]; //or some other way of obtaining this workbook reference, as Jason Z mentioned
wbk.SaveAs(filename, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing);
wbk.Close();
excelApplication.Quit();
Должен любить все эти Type.Missings. Но я думаю, что они необходимы.