Lotsbug

learn AspdotNet

asp.net 操作服务器Excel后,关闭服务器Excel进程有效方法

首先肯定是写个类来操作Excel的,这边就不说了,就说最后怎么把服务器上的Excel进程给掐掉
只需增加以下方法即可
    public void KillExcel()
    {
        myexcel.Quit();
        System.Runtime.InteropServices.Marshal.ReleaseComObject(myexcel);
        myexcel = null;
        GC.Collect();
    }

其中 myexcel 是实例出来的Excel.Application,以上方法绝对可以,我一直再用,呵呵

这个方法有问题,比如我要开2个excel进程呢,你知道关那个
这个方法才好用

#region 结束Excel进程
  /// <summary>
  /// 结束Excel进程
  /// </summary>
  public void KillExcelProcess()
  {
   Process[] myProcesses;
   DateTime startTime;
   myProcesses = Process.GetProcessesByName("Excel");

   //得不到Excel进程ID,暂时只能判断进程启动时间
   foreach(Process myProcess in myProcesses)
   {
    startTime = myProcess.StartTime;

    if(startTime > beforeTime && startTime < afterTime)
    {
     myProcess.Kill();
    }
   }
  }
  #endregion

posted on 2007-12-28 15:51  lotsbug  阅读(204)  评论(0)    收藏  举报

导航