[ASP.Net]在ASP.Net中,用C#動態產生Excel檔-下

  • 5835
  • 0

[ASP.Net]在ASP.Net中,用C#動態產生Excel檔-下

(3)最後,關閉EXCEL.EXE進程

使用這個方式產生Excel檔案,會在系統建立Excel.exe進程。由於這個進程在使用完畢不會自動關閉。所以我們必須自行用C#關閉這個進程。否則,EXCEL.EXE就會越開越多,在Server上這可是很慘的XD
image 

##ReadMore##
在下面,我們先關閉workbook,再離開Excel應用程式。接著用System.Runtime.InteropServices
.Marshal.ReleaseComObject
釋放相關COM物件
。並且將變數值設為null,就可以呼叫garbage collection機制,回收不需要的物件,釋放相關記憶體,從而達到關閉EXCEL.EXE進程的目的。

wb.Close(false, mObj_opt, mObj_opt);
xlApp.Workbooks.Close();
xlApp.Quit();


//刪除 Windows工作管理員中的Excel.exe 進程,
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);
System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
System.Runtime.InteropServices.Marshal.ReleaseComObject(aRange);
System.Runtime.InteropServices.Marshal.ReleaseComObject(aRange2);

xlApp = null;
wb = null;
ws = null;
aRange = null;
aRange2 = null;
//呼叫垃圾回收
GC.Collect();
[第12頁]
 

HI!我是finalevil,這是我的分站,

歡迎您訂閱我的RSS ,或是前往本站發表意見。