在用C#調用Excel讀取Excel文件,經常會遇到無法釋放資源,程序結束了,任務管理器中仍然有很多的進程無法及時退出和釋放。
後來,經過查找資料,找到了一個釋放Com對象資源的方法:
System.Runtime.InteropServices.Marshal.ReleaseComObject(Object O)
最近的代碼中有這樣的引用:
System.Runtime.InteropServices.Marshal.ReleaseComObject(excApp); System.Runtime.InteropServices.Marshal.ReleaseComObject(excWork); System.Runtime.InteropServices.Marshal.ReleaseComObject(excsheet);
這樣的代碼是無法徹底的釋放Excel對象的,因為必須先將工作表對象釋放,然後釋放工作簿,最後釋放整個表格對象,將上面的語句做如下修改:
System.Runtime.InteropServices.Marshal.ReleaseComObject(excsheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(excWork); System.Runtime.InteropServices.Marshal.ReleaseComObject(excApp);