完美关闭C#中的Excel应用程序
问题描述:
我从C#中的应用程序生成Excel报告。我想打开Excel文件供用户查看,稍后可能会对其进行修改。完美关闭C#中的Excel应用程序
但是,当用户关闭Excel应用程序时,进程EXCEL.EXE
仍作为进程运行,并且可以在TaskManager中看到。
我正在寻找论坛,似乎我们需要通过ReleaseComObject(object)
发布所有由Excel引用的对象。
但是,我不想以编程方式关闭所有对象,而是我想将此控件给予用户。所以,当用户关闭Excel文件时,是否可以关闭或释放Excel引用的所有对象。
任何在这个方向解决问题的建议/指针会帮助我很多。
感谢
答
的方法之一是释放所有句柄打开工作簿就像这个answer之后。
另一种是使用System.Diagnostics.Process.Start方法并打开你生成的文件。有关如何使用Process.Start打开Word文档的快速示例可以在here找到。
ReleaseComObject()没有什么优美的东西。只要不再担心Excel会在您期望的时候立即退出。在你的程序中继续做有用的工作,垃圾收集器将完成它的工作,并负责释放*所有*对象。最终。 –