导出excel表格,关闭excel文件,进程怎么没有结束?

shiwaxingge 2005-09-06 11:30:18
我用的是:
var oXL = new ActiveXObject("Excel.Application");
oXL.DisplayAlerts = false
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var htmlTable = document.all.outtable;
var hang = htmlTable.rows.length;

var lie = htmlTable.rows(0).cells.length-1;

for (i=0;i<hang;i++)
{
for (j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1).value = htmlTable.rows(i).cells(j+1).innerText;
}

}
oXL.Visible = true;
oXL.UserControl = false;
----------------------------------------
生成excel内容正确,关掉打开的excel,
发现进程中的excel并没有被结束,还占有内存,
请高手指点
解决立即给分
...全文
280 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
iyiduhsoad 2006-06-25
  • 打赏
  • 举报
回复
很奇怪,为什么oXL.Quit()没有效果?
还有,为什么在oXL = null;下直接使用CollectGarbage();不行?
xjdawu 2005-09-06
  • 打赏
  • 举报
回复
oXL.quit()
shiwaxingge 2005-09-06
  • 打赏
  • 举报
回复
问题已经解决:
解决办法是这样的:
var idTmr = "";
function Cleanup() {
window.clearInterval(idTmr);
CollectGarbage();
}
function AutomateExcel()
{
var oXL = new ActiveXObject("Excel.Application");
oXL.DisplayAlerts = false
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var htmlTable = document.all.outtable;
var hang = htmlTable.rows.length;

var lie = htmlTable.rows(0).cells.length-1;

for (i=0;i<hang;i++)
{
for (j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1).value = htmlTable.rows(i).cells(j+1).innerText;
}

}
oXL.Visible = true;
oXL.UserControl = false;
oXL = null;
idTmr = window.setInterval("Cleanup();",1);
}
------------------------
供大家参考,
回复有分...
shiwaxingge 2005-09-06
  • 打赏
  • 举报
回复
to xjdawu(无法界定):
谢谢关注
虽然闪了一下就关了,但是进程还是存在,
怎么回事?

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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