关闭

[置顶] 用javascript 创建ActiveX对象时出现:Automation server can't create object"(Automation 服务器不能创建对). 错误的解决办法。

标签: objectjavascriptserver服务器scriptingtable
15879人阅读 评论(1) 收藏 举报
分类:

    今天,想实现在客户端读取一个EXCEL文件到一个Table中 ,所以写了如下代码:

 

function readExcel()
{
   
var fileName = document.getElementById("File1").value;
   
var objExcel = new ActiveXObject("Excel.Application");
   
if (!fileName)
   
{
      
return;
   }
     
   
var objWorkBook = objExcel.WorkBooks.open(fileName);
   
var objSheet = objWorkBook.ActiveSheet;
   
   
var i=1;
   
var name,code;
   
while(true)
   
{
       name
=objSheet.cells(i,2).value;
       
if (!name)
       
{
           
break;
       }

       
       code 
= objSheet.cells(i,1).value;
       
       
var objTable = document.getElementById("employee");
       
var objRow = objTable.insertRow(1);
       
var btnTd = objRow.insertCell();
       btnTd.innerHTML 
= "<input type="Button" value="删除" onclick="deleteEmp(this)" />";
       
       
var codeTd = objRow.insertCell();
       codeTd.innerHTML 
= "<input type="Text" value=""+code+"" />";
       
       
var nameTd = objRow.insertCell();
       nameTd.innerHTML 
= "<input type="Text" value=""+name+"" />";
       i
++
   }

   
}


function deleteEmp(btnDelete)
{
   
var index = btnDelete.parentElement.parentElement.rowIndex;
   
var objTable = document.getElementById("employee");
   objTable.deleteRow(index);
}


 

以上其中:empleoyee为一个table的id,"File1"为<input type=file ..../>的ID,实现把EXCEL中的内容读到table中,table有三列,第一列为一个“删除”Button,第二,第三列分别放一个Text控件。

    但在运行的时候,提示:Automation server can't create object。

    但是我要一个HTML文件中,执行同样的脚本会提示:

 

选择“Yes”就不会提示错误,为什么会这样呢?

于是就上Google搜,唉,同病相连的兄弟还不少啊,但没一个能清楚解决的。

后来认真想想:应该是被IE安全机制拦截了。于就就在IE设置里找,但又苦于本人对英文一翘不通,但为了学习,当时还就装了个英文版的IE7,没办法,只有一个一个的看。最后苍天不负有心人啊,终于试出来了。原来是这个:

英文原文为:Initialize and script ActiveX controls not marked as safe for scripting,中文大意是(因为本人英文水平特差,不对肯请指正):对没有标记为安全的ActiveX控件进行初始化和脚本运行。

将它设成:Enable 就解决问题了。

具体设置步骤为:Tools(工具)->Internet Option...(IE 选项)->Security(安全)->Custom Level(用户自定义级别)。

2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:94269次
    • 积分:1353
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:10篇
    • 译文:0篇
    • 评论:31条
    文章分类
    最新评论