c# 怎样杀掉EXCEL 进程

问题描述

我遇到过这个问题:我用C#ASP.NETCOM组件操作EXCEL(workbook,worksheet)操作完后我workbook.close(false,false,true);想试放EXCEL但是当我把要操作的EXCEL文件打开的情况下,我再用ASP.NET操作EXCEL,操作完后,我再关闭打开的EXCEL文件,之后WINDOWS系统会弹出提示框,问是否编辑与修改EXCEL文件对话框,请问怎么解决不让弹出?

解决方案

解决方案二:
关注!似乎有些高深
解决方案三:
关注,似乎有些高深哦
解决方案四:
在BS结构上对office操作应该用smartdocument的模式.你的构架和实现方式本身就有问题.
解决方案五:
smartdocument是什么啊,没用到过啊,高人指典,最好给个例子。
解决方案六:
privatestaticvoidKillProcess(){System.Diagnostics.Process[]excelProc=System.Diagnostics.Process.GetProcessesByName("EXCEL");System.DateTimestartTime=newDateTime();intm,killId=0;for(m=0;m<excelProc.Length;m++){if(startTime<excelProc[m].StartTime){startTime=excelProc[m].StartTime;killId=m;}}if(excelProc[killId].HasExited==false){excelProc[killId].Kill();}}
解决方案七:
GC.Collect();
解决方案八:
上面的杀线程,我想应该把其它EXCEL也杀了吧。
解决方案九:
开一个新的子线程,在子线程中操作Excel,使用完后关闭Excel,再关闭子线程,就可以了。这个方法虽然不是很好,但目前我只知道这个最管用
解决方案十:
上面的能给个例子吗。

时间: 2024-09-13 13:09:06

c# 怎样杀掉EXCEL 进程的相关文章

查看当前进程,或死锁进程,并能自动杀掉死进程

进程 /*--处理死锁  查看当前进程,或死锁进程,并能自动杀掉死进程  因为是针对死的,所以如果有死锁进程,只能查看死锁进程 当然,你可以通过参数控制,不管有没有死锁,都只查看死锁进程 --邹建 2004.4--*/ /*--调用示例  exec p_lockinfo--*/create proc p_lockinfo@kill_lock_spid bit=1,  --是否杀掉死锁的进程,1 杀掉, 0 仅显示@show_spid_if_nolock bit=1 --如果没有死锁的进程,是否显

.net中清除EXCEL进程最有效的方法

excel|进程  最近用C#写winform,将EXCEL文件中的数据写入数据库中,将DataGrid中的数据导出为EXCEL格式.最后发现EXCEL内存泄漏,在应用程序不退出的情况下,总是有一个EXCEL进程不能清除!在网上找了许多答案,都是无用的答案!什么不管三七二十一杀EXCEL进程啦,不是最有效的方法!其实最有效的方法就是下面这个方法: 1.对excel操作做成一个函数,然后调用此函数.在函数中调用GC.Collect();无用,因为GC不回收调用自己的那一段代码块!2.在函数的下面调

关于C#中操作EXCEL后,关闭对象但EXCEL进程仍然存在的解决办法.

问题描述 自己之前一直被这个问题困扰,也在网上找了很多资料,大部分都是用杀死进程的方法来解决,个人觉得这个太影响代码美观了.今天偶然发现了解决办法.给大家共享一下.现象:我在C#中,需要从EXCEL导入或者导出数据,当导入导出结束后,使用excelApp.Quit()关闭EXCEL对象,但系统进程中仍然存在EXCEL进程.并没有关闭.原因:其实excelApp.Quit();方法是可以正确的释放EXCEL进程的,我们导入导出EXCEL时,普遍方法是代码后台处理,前台并隐藏EXCEL界面,也就是e

excel 进程-获取已打开多个的EXCEL操作

问题描述 获取已打开多个的EXCEL操作 [背景]南方CASS软件打开几千个EXCEL表格(都是新建的,还没保存),它们的特点是:一个excel在进程中表现为一个exccel进程,现在想以第一个工作表作为名称保存所有excel. 使用System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application")只能获取第一个excel进程,于是我遍历进程,处理一个关闭一个,具体代码是: private void b

Excel导入数据库问题:excel进程被占用怎么解决

问题描述 stringsavePath=Server.MapPath(("~\upfiles\")+filename);//Server.MapPath获得虚拟服务器相对路径FileUpload1.SaveAs(savePath);//SaveAs将上传的文件内容保存在服务器上在发布程序后,第二次导入数据时显示excel进程被占用,而且upfiles文件夹中不能删除需要删除aspnet_wp.exe进程 解决方案 解决方案二:Response.Clear();解决方案三:你也遇到这个问

c#做excel打印预览,点击预览上面的&amp;amp;quot;关闭&amp;amp;quot;,excel进程无法关闭。

问题描述 publicvoidExcelPreview(){m_objExcel.ScreenUpdating=false;m_objExcel.Worksheets.PrintPreview(true);m_objExcel.Visible=false;}在运行以上代码后,进入预览界面.点击预览界面上的"关闭"按钮,预览界面退出,excel进程无法退出.是否有一个属性值用来判断预览是否打开? 解决方案 本帖最后由 ntmaipu 于 2011-06-11 18:39:19 编辑解决方

asp.net生成xls文件完成后自动关闭excel进程代码

asp教程.net生成xls文件完成后自动关闭excel进程代码 //方法一 gc.collect();         applicationclass excel;         _workbook xbk;         _worksheet xst;         excel = new applicationclass();         xbk = excel.workbooks.add(true);         xst = (_worksheet)xbk.actives

如何使用xkill命令杀掉Linux进程/未响应的程序

我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如terminal)的PID: $ ps -A | grep -i terminal 6228 ? 00:00:00 gnome-terminal 上面的输出中,'6288'就是进程(gnome-terminal)的pid, 使用下面的命令来杀掉进程. $ kill 6228 kill命令会发送一个信号给该pid的进程. 另外一个方法是我们可以使用pkill命令,它

oracle查看被锁的表和被锁的进程以及杀掉这个进程_oracle

-- 1. 查看被锁的表 SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name FROM v$process p, v$session a, v$locked_object b, all_objects c WHERE p.addr = a.paddr AND a.process = b.process AND c.object_id = b.object_id -- 2.