asp教程.net產生xls檔案完成後自動關閉excel進程代碼
//方法一
gc.collect();
applicationclass excel;
_workbook xbk;
_worksheet xst;
excel = new applicationclass();
xbk = excel.workbooks.add(true);
xst = (_worksheet)xbk.activesheet;
//自訂代碼...
//結束時
xbk.close(false, null, null);
excel.quit();
system.runtime.interops教程ervices.marshal.releasecomobject(xbk);
system.runtime.interopservices.marshal.releasecomobject(excel);
system.runtime.interopservices.marshal.releasecomobject(xst);
xbk = null;
excel = null;
xst = null;
//方法二
finally
{
((microexcel._application)tempapp).workbooks.close();
int32 tempgeneration = gc.getgeneration(tempapp);
((microexcel._application)tempapp).quit();
gc.collect(tempgeneration);
//上面部分在winform中就已經幹掉excel進程了,但是在asp.net教程中還不行
process[] myprocesses;
myprocesses = process.getprocessesbyname("excel");
//得不到excel進程id,暫時只能判斷進程啟動時間
foreach (process myprocess in myprocesses)
{
try
{
datetime starttime = myprocess.starttime;
if (starttime >= tempstart && starttime <= tempend)
{
myprocess.kill();
}
}//直接在vs中運行網頁就不會有取不到starttime的問題
catch//有一些核心進程是不允許訪問的,因此而引起的異常可以捕獲並放棄處理
{ }
}
}