搜索
查看: 1304|回复: 4

为啥excel进程还在?

[复制链接]

2

主题

23

帖子

170

积分

一级会员

Rank: 2

积分
170
发表于 2017-12-30 10:11:39 | 显示全部楼层 |阅读模式
        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();
回复

使用道具 举报

2

主题

11

帖子

108

积分

培训班

积分
108
发表于 2017-12-30 11:43:42 | 显示全部楼层
因为你关闭的方式不对。。
回复

使用道具 举报

39

主题

174

帖子

1037

积分

荣誉会员

htmlayout.cn 我的学习笔记

Rank: 8Rank: 8

积分
1037
发表于 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();
复制代码
! www.HtmLayout.Cn 我的学习笔记
回复

使用道具 举报

2

主题

23

帖子

170

积分

一级会员

Rank: 2

积分
170
 楼主| 发表于 2017-12-30 13:14:04 | 显示全部楼层

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

再次感谢popdes和Jacen~~~~
回复

使用道具 举报

2

主题

23

帖子

170

积分

一级会员

Rank: 2

积分
170
 楼主| 发表于 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-12-12 04:12 , Processed in 0.062500 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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