您的位置:首页 > 其它

完全释放Excel进程的资源

2009-08-05 10:20 357 查看
一个彻底释放Excel进程的方法。
/// <summary>
/// 释放Excel所占的内存。
/// </summary>
public void ReleaseComObjectExcel()
{
if (m_objExcel != null)
{
m_objExcel.UserControl = false;

//m_objExcel.DisplayAlerts = false;
//m_objExcel.Quit();

//m_objBooks.Close();

ReleaseObj(m_objFont);
ReleaseObj(m_objRange);
ReleaseObj(m_objSheet);
ReleaseObj(m_objSheets);
ReleaseObj(m_objBook);
ReleaseObj(m_objBooks);
ReleaseObj(m_objExcel);
int generation = GC.GetGeneration(m_objExcel);
GC.Collect(generation);
m_oMissing = null;
}
}

/// <summary>
/// 释放对象,内部调用
/// </summary>
/// <param name="o"></param>
private void ReleaseObj(object obj)
{
if (obj != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
obj = null;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐