搜索
aardio官方社区 门户 查看主题

为啥excel进程还在?

发布者: handongcn | 发布时间: 2017-12-30 10:11| 查看数: 172| 评论数: 4|帖子模式

        import com;
var excela =com.CreateObject("Excel.Application");
        excela.DisplayAlerts = false;
        excela.Workbooks.open("c:\Book1.xlsx");
        excela.Visible = false ;

excela.Workbooks.close();

        excela.Quit();

最新评论

BASSTK 发表于 2017-12-30 11:43:42
因为你关闭的方式不对。。
popdes 发表于 2017-12-30 11:53:01
  1. import com.excel;

  2. var excel = com.excel( true );
  3. var book = excel.WorkBooks.Open("C:\Users\Administrator\Desktop\Book8.xlsx");
  4. //sleep(2000) //延时关闭,能够看到excel进程存在,然后被关闭
  5.         excel.Visible = false;
  6.         excel.alerts = false;
  7.         book.close();
  8.         excel.Quit();
复制代码
handongcn 发表于 2017-12-30 13:14:04

感谢POPDES,按照你说的用自定义的com.excel是可以解决!
而我用的是com通用的对象建立方法为什么不行呢,我又查看了一下com。excel这个自定义,发现Jacen有一个语句“collectgarbage("collect");//内存回收,确保excel完全退出”,加上这行终于可以解决了!

再次感谢popdes和Jacen~~~~
handongcn 发表于 2017-12-30 13:53:00
handongcn 发表于 2017-12-30 13:14
感谢POPDES,按照你说的用自定义的com.excel是可以解决!
而我用的是com通用的对象建 ...


excela = null;//释放所有对excel对象的引用
collectgarbage("collect");//内存回收,确保excel完全退出

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-1-20 18:49 , Processed in 0.062500 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表