如何结束excel进程

tzwanghua 2010-03-11 05:15:34
用winform写了个程序查询数据库,显示在datagrid,并将datagrid的内容写到excel中,如果采用直接保存excel的方法,可以控制excel.exe顺利结束,但客户不需要保存excel,如果每次保存的话,操作比较繁琐,故在程序中加入m_objExcel.Visibal=true;并把保存的代码去掉,程序运行后,可以同步显示excel并显示出数据,但点击excel的关闭按钮,excel.exe并没有结束,如果我退出主程序,则产生的excel.exe全部消失,请问:在不结束主程序的情况下,点excel的关闭按钮后,怎么才能自动结束excel.exe进程。
...全文
243 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengling2001 2010-03-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yang1216 的回复:]
LS那个会把别的正常打开的Excel也干掉。
[/Quote]


“但点击excel的关闭按钮,excel.exe并没有结束”
为什么excel没有响应关闭事件,难道你另有处理,不然不会出这种情况啊~
白头老汉 2010-03-11
  • 打赏
  • 举报
回复
不懂c#,但是有一点,excel是自己的程序启动的,启动时应该能得到这个进程的描述(句柄也罢,实例也罢,ID也罢),保存下这个东西,应该有对应的方法来终止这个进程
yang1216 2010-03-11
  • 打赏
  • 举报
回复
LS那个会把别的正常打开的Excel也干掉。
wuyq11 2010-03-11
  • 打赏
  • 举报
回复
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)
{
}
GC.Collect();
}

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧