2012-12-10 52 views
0

我从C#中的应用程序生成Excel报告。我想打开Excel文件供用户查看,稍后可能会对其进行修改。完美关闭C#中的Excel应用程序

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

我正在寻找论坛,似乎我们需要通过ReleaseComObject(object)发布所有由Excel引用的对象。

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

任何在这个方向解决问题的建议/指针会帮助我很多。

感谢

+2

ReleaseComObject()没有什么优美的东西。只要不再担心Excel会在您期望的时候立即退出。在你的程序中继续做有用的工作,垃圾收集器将完成它的工作,并负责释放*所有*对象。最终。 –

回答

1

的方法之一是释放所有句柄打开工作簿就像这个answer之后。

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