关闭excel文件的方法之间的差异

我一直在使用一些函数,现在我真的在想,它们之间有什么区别。 我知道, xlWorkbook.Close(0)关闭文件xlAppQuit(); 退出Excel应用程序,并Marshal.ReleaseComObject(xlWorkbook); 清理 - 释放COM对象。 但是这在实践中意味着什么? 我无法想象这些差异。 前两个让我的任务管理器中的excel进程消失(那么如何关闭一个工作簿不同于退出,如果他们都杀死了excel进程?),最后一个不会。


你需要记住你调用的这些类是COM对象。 COM使用引用计数。 所以每次在背景中使用它们中的一个时,它都是+ 1的。

要正确清理你需要减少该柜台。 这是通过释放你的引用(wb = null)然后调用Marshall.ReleaseComObject(...)来完成的。

如果你失败了,那么你会引入内存泄漏,因为这些COM对象会一直存在,直到你的应用程序关闭。

链接地址: http://www.djcxy.com/p/35669.html

上一篇: Differences between the method of closing a excel file

下一篇: Excel Instance wont close after Interop Operations