Scriptom(groovy)让Excel进程运行—我做错什么了吗?

Scriptom(groovy)让Excel进程运行—我做错什么了吗?,excel,groovy,scriptom,Excel,Groovy,Scriptom,我正在使用Groovy 1.7.0的Scriptom扩展,在Windows XP下使用Excel 2007自动化一些处理 尽管我在Excel activeX对象上调用了quit,但这似乎总是让Excel进程运行。(在Scriptom示例文档中也有对这种现象的间接引用。) 代码如下所示: import org.codehaus.groovy.scriptom.ActiveXObject; def xls = new ActiveXObject("Excel.Application") xls.V

我正在使用Groovy 1.7.0的Scriptom扩展,在Windows XP下使用Excel 2007自动化一些处理

尽管我在Excel activeX对象上调用了quit,但这似乎总是让Excel进程运行。(在Scriptom示例文档中也有对这种现象的间接引用。)

代码如下所示:


import org.codehaus.groovy.scriptom.ActiveXObject;
def xls = new ActiveXObject("Excel.Application")
xls.Visible = true

// do xls stuff

xls.Quit()
可见的excel窗口确实消失了,但任务管理器中保留了一个excel进程(每次运行脚本时,会有更多进程堆积起来)

没有错误消息或异常


有人能解释一下为什么Excel进程被抛在后面了吗?有什么方法可以防止它发生吗?

看起来你不见了

xls.release();

好像已经完成了。

看起来你失踪了

xls.release();
喜欢这样做。

这样做:

xls.Quit()
Scriptom.releaseApartment()
javadocs声明:

在某些情况下,JVM可以关闭 在一切都清理干净之前 可以离开自动化服务器 (特别是)悬挂。叫这个 在脚本退出以获取 来自自动化的正确行为 服务器

这项工作:

xls.Quit()
Scriptom.releaseApartment()
javadocs声明:

在某些情况下,JVM可以关闭 在一切都清理干净之前 可以离开自动化服务器 (特别是)悬挂。叫这个 在脚本退出以获取 来自自动化的正确行为 服务器


除非这是你的网站,这家伙也有同样的问题。这似乎是同一个问题,但我使用的是groovy 1.7.0附带的scriptom版本,我认为它比1.2更新。除非这是你的网站,否则这家伙也有同样的问题。这似乎是同一个问题,但我使用的是groovy 1.7.0附带的scriptom版本,我认为它比groovy 1.2更新。