C#操作excel进程关不了的问题 我用C#代码打开了excel文件,当我手工关掉excel文件后,进程中还有Excel进程,为什么?怎么样才让进程中没有它呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void killProcess(string processName) { System.Diagnostics.Process myproc = new System.Diagnostics.Process(); try { foreach (Process thisproc in Process.GetProcessesByName(processName)) { if (!thisproc.CloseMainWindow()) { thisproc.Kill(); } } } catch (Exception Exc) { throw new Exception("关掉进程出错!", Exc); } } 我原先也遇到了这样的问题,不过没必要像2楼的那么麻烦,只要在调用完Excel后调用GC.Collect()强制进行垃圾回收即可。最好用try..catch..finally来调用Excel,GC.Collect()放在finally块中。 我加了GC.Collect();也没有用呀。我如果用手工结束那个进程exce文件也会关,如果我手动关excel进程就还在。 System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);//Excel.Application xlApp System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);//Workbooks workbooks System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);//Workbook workbook System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);//Worksheet worksheet需要手动销毁的!! c# 调用oracle package问题 复制excel里的所有内容? 获取dll对应的程序集项目的绝对路径(很急) 求数据库初始化的解决方案!!紧急!! 求助, 鼠标事件中如何获取HDC 郁闷,VS2005不能临时把一个目录及其子目录排除在项目中吗? 请教高手:Winform程序中,如何收发邮件。 DataGrid邦定方法? C#中如何利用word对象进行打印?? 实现下面的功能,详情在下面!!!写全的全给分。 C#数据传输问题:除了ftp以外还有什么方法?需要建立服务器么? vs2005打包WinForm的问题
{
System.Diagnostics.Process myproc = new System.Diagnostics.Process();
try
{
foreach (Process thisproc in Process.GetProcessesByName(processName))
{
if (!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
}
}
catch (Exception Exc)
{
throw new Exception("关掉进程出错!", Exc);
}
}
GC.Collect();
也没有用呀。
我如果用手工结束那个进程exce文件也会关,如果我手动关excel进程就还在。
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);//Workbooks workbooks
System.Runtime.InteropServices.Marshal.ReleaseComObject(workbooks);//Workbook workbook
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
//Worksheet worksheet
需要手动销毁的!!