IE对不同区域有不同的安全设置,在本机运行的时候,可以创建Excel.Application对象,但如果代码是来自Internet的,IE就会认为创建Excel.Application对象有安全隐患,可能就禁止创建这个对象了.
可以通过设置IE的Internet区域的安全级来解决这个问题.同时,运行这段代码的客户机必须安装了Excel应用程序.否则即使安全设置没有问题,也会出错的。

解决方案 »

  1.   

    在服务端输出文件流:Response.ContentType="application/vnd.ms-excel"
    Response.Write("..........");
    ..........
      

  2.   

    谢谢各位的热心。回复得真快!
    但是楼上两位的方式我都试过了,不见效果啊,出错提示还是
    我将网页安全级都设至最低了,而且我的测试服务器上也装了Excel软件。我用的是jsp,测试服务器是
    Tomcat。提示仍然是“Automation服务器不能创建对象”。
    关于在服务器端输出文件流这一方式,我是这样做的:
    <%
      response.setContentType("application/vnd.ms-excel");
      out.print("<script language=\"javascript\">"+         
               "function AutomateExcel() "+
               "{            "+
               "var oXL = new ActiveXObject(\"Excel.Application\"); "+
               "var oWB = oXL.Workbooks.Add(); "+
               "var oSheet = oWB.ActiveSheet; "+
               "var table = document.all.toExcel; "+
               "var hang = table.rows.length; "+
               "var lie = table.rows(0).cells.length; "+         
    "for (i=0;i<hang;i++) "+
    "{ "+
    "for (j=0;j<lie;j++) "+
    "{ "+
    "oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText; "+
    "} "+
    "} "+
    "oXL.Visible = true; "+
    "oXL.UserControl = true; "+
    "} "+"function doExcel(){"+
      " document.goform.toexcel.value=\"excel\";"+
       "document.goform.action=\"jobsearch.jsp\";"+
      " document.goform.submit();"+
    "}"+
    "</script>");
    %>错误依旧。不知道还有没有其他的解决办法啊。
      

  3.   

    保存 table 的 html 代码即可。
      

  4.   

    Response.setContentType之后在服务端直接out.print逆向输出的数据,不要在输出<script>脚本
    你上面的代码等于还是用的js
      

  5.   

    EXCEL/WORD格式显示/导出数据
    http://blog.csdn.net/oyesky/archive/2004/06/24/24957.aspxASP导出Excel数据的四种方法
    http://www.yesky.com/SoftChannel/72342380468043776/20030805/1719195_1.shtml
      

  6.   

    如稻草人所言,这段代码只能在IE中执行,并且客户端必须允许执行 ActiveX。参看我的 blog,javascript 生成 Excel 文件。http://blog.csdn.net/rootcn/archive/2004/09/15/105495.aspx
      

  7.   

    呵呵,谢谢各位了。
    终于发现了问题所在,程序代码没问题。只要修改Internet的安全设定,将安全级改为中级,
    然后客户端起用ActiveX就没问题了。
    谢谢。