Kill Process Excel C#

后端 未结 10 1539
栀梦
栀梦 2020-12-09 12:45

I have to 2 process excel. For example:

1) example1.xlsx 2) example2.xlsx

How to kill first \"example1.xlsx\"?

I use this code:

   f         


        
10条回答
  •  执笔经年
    2020-12-09 13:14

    Use below logic to prevent Zombie Excel processes in Task Manager

     List GetAllExcelProcessID()
        {
           List ProcessID = new List(); 
           if (currentExcelProcessID == -1)
            {
               List currentExcelProcessList = System.Diagnostics.Process.GetProcessesByName("EXCEL").ToList();
               foreach(var item in currentExcelProcessList)
                {
                    ProcessID.Add(item.Id);
                }
            }
           return ProcessID;
        }
    int GetApplicationExcelProcessID(List ProcessID1, List ProcessID2)
        {
            foreach(var processid in ProcessID2)
            {
                if (!ProcessID1.Contains(processid)) { currentExcelProcessID = processid; }
            }
            return currentExcelProcessID;
        }
     void KillExcel()
        {
            System.Diagnostics.Process process = System.Diagnostics.Process.GetProcessById(currentExcelProcessID);
            process.Kill();
        }
     List ProcessID1 = GetAllExcelProcessID();
                    excel = new Excel.Application();
                    List ProcessID2 = GetAllExcelProcessID();
                    currentExcelProcessID = GetApplicationExcelProcessID(ProcessID1, ProcessID2);
    

提交回复
热议问题