从C#优雅地关闭Excel应用程序

时间:2012-12-10 10:38:28

标签: c# winforms office-interop excel-interop

我正在使用C#从应用程序生成Excel报告。我想打开Excel文件供用户查看,稍后可能会对其进行修改。

但是,当用户关闭Excel应用程序时,进程EXCEL.EXE仍然作为进程运行,可以在TaskManager中看到。

我在论坛中查看,似乎我们需要通过ReleaseComObject(object)释放Excel引用的所有对象。

但是,我不想以编程方式关闭所有对象,而是希望将此控件提供给用户。因此,当用户关闭Excel文件时,是否可以关闭或释放Excel引用的所有对象。

任何在这方面解决问题的建议/指示都会对我有所帮助。

由于

1 个答案:

答案 0 :(得分:1)

一种方法是在打开工作簿后立即释放所有句柄,如answer中所示。

另一种方法是使用System.Diagnostics.Process.Start方法并打开您生成的文件。可以找到有关如何使用Process.Start打开Word文档的快速示例here