b/s结构下怎么关闭EXCEL进程?

lint412 2005-09-02 02:26:20
我的程序是在服务器端new一个EXCEL,用完后关闭,可是怎么也关不掉打开的EXCEL进程,请问该怎么关闭?我试了很多方法,连
myExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject (myExcel);
myExcel = null;

GC.Collect();
GC.WaitForPendingFinalizers();
等方法都用了,可还是关不掉啊,郁闷死了。请高手帮帮忙吧
...全文
221 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
olly 2006-03-10
  • 打赏
  • 举报
回复
郁闷中揭帖的吧,我也郁闷了好久了,如果你已经解决了,能否共享解决方案啊?或qq联系:63814866
lint412 2005-09-05
  • 打赏
  • 举报
回复
???
lint412 2005-09-03
  • 打赏
  • 举报
回复
to wmt85(天涯在流浪),这样岂不是杀了所有的excel进程了。我怎么判断杀我这个程序里new的进程呢?
to shaofengli(懒懒),这方面的资料很难找啊,我把所有用到的range,sheet,workbook都用ReleaseComObject()方法释放掉了啊,难道还有什么要释放的?
shaofengli 2005-09-02
  • 打赏
  • 举报
回复
微软的技术工程师说他们的Excel不支持其作为服务端组件编程,其实实际情况是他们这个组件做的有问题,有些资源没有得到释放,也就是你调用其方法的时候new出来的资源没有被释放,那么其Excel进程就不会被释放.你只要能认真的释放和Excel相关的你new的任何一个实例的话,你最后调用Quit(),肯定能释放,我可以明确的说,是可以释放,但是要遵守我刚才说的规则.其实网上也有人发表过此类文章,你可以查阅一下.
深山老翁 2005-09-02
  • 打赏
  • 举报
回复
Process[] myprocesses=Process.GetProcessesByName("EXCEL.EXE");
foreach(Process myprocess in myprocesses)
myprocesses[0].Kill();
其他方法我以前也用过,没有办法结束EXCEL.EXE进程。
深山老翁 2005-09-02
  • 打赏
  • 举报
回复
没有办法关掉,只有结束EXCEL.EXE进程,
zincy 2005-09-02
  • 打赏
  • 举报
回复
我也遇到过,不知道怎么办
ld_thinking 2005-09-02
  • 打赏
  • 举报
回复
Word.ApplicationClass app = new Word.ApplicationClass();

app.Application.Quit()

EXCEL应该也差不多吧
lint412 2005-09-02
  • 打赏
  • 举报
回复
受不了了,居然没人答
lint412 2005-09-02
  • 打赏
  • 举报
回复
没有人回答吗/

110,567

社区成员

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

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

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