如何将Excel.workbook内容从C#应用程序输出到现有的Excel文件中?

我有一个启用macros的Excel文件“D:\ MyTests \ ExcelTests \ template.xlsm”中没有数据,只有VBA代码和我的C#代码需要在那里输出工作簿数据。 通常我输出这样的工作簿数据:

Excel.Application application = new Excel.Application(); Excel.Workbook workbook = application.Workbooks.Add(); Excel.Worksheet worksheet = workbook.Sheets[1]; Excel.Worksheet worksheet2 = workbook.Sheets[2]; // populate worksheets with some data DataTable2Worksheet(tableMain, worksheet, verSize); DataTable2Worksheet(tableExtra, worksheet2, 0); string fileName = @"D:\MyTests\ExcelTests\newFile"; if (File.Exists(fileName )) { File.Delete(fileName ); } workbook.SaveAs(fileName); workbook.Close(); Marshal.ReleaseComObject(application); 

但是这会创build一个新文件(不能通过编程方式启用macros)。 如果我想输出工作簿到现有的文件

  string existingFile = @"D:\MyTests\ExcelTests\template.xlsm" 

方法

  workbook.SaveAs(existingFile ); 

将无法工作。 那么,我该怎么做呢? 谢谢。

xlOpenXMLWorkbookMacroEnabled格式保存文件:

 string existingFile = @"D:\MyTests\ExcelTests\template.xlsm" workbook.SaveAs(existingFile, 52);