我使用vbscript脚本在客户端操作,创建excel文件,然后导入数据。功能都已经完成了,但是有一个小问题:当我用localhost、server(机器名)访问的时候,一切正常,没有安全提示,但是当我用IP或是域名访问的时候,就出错了。错误信息是:ActiveX 部件不能创建对象 Excel.Application错错的脚本是 Set xlApp = CreateObject("Excel.Application")为什么 localhost没有错误,换成IP就不行了呢?

解决方案 »

  1.   

    xlApp = CreateObject("Excel.Application")
      

  2.   

    点开始 执行,输入DCOMCNFG后回车
    找到DCOM 配置中的Microsoft Excel 应用程序
    设置安全性 在启动权限 配置权限 访问权限 均加上 ASP.NET用户
    然后在标识里面勾 交互式用户 或指定系统管理员用户
    即可
      

  3.   

    可能是我没有写清楚吧。1.是在客户端执行的,2.是用的vbscript脚本,3.用localhost 和 机器用访问的时候 一切正常; 用IP访问的时候就出错了4.错误信息是:ActiveX 部件不能创建对象 Excel.Application
      

  4.   

    Set xlApp = CreateObject("Excel.Application")换成Set xlApp = Server.CreateObject("Excel.Application")这样看看
      

  5.   

    可能是因为在客户端执行时  所以需要高的权限 用localhost 和 机器用访问的时候 一切正常; 用IP访问的时候就出错了
    说明IIS的匿名用户权限 不够
      

  6.   

    Set xlApp = Server.CreateObject("Excel.Application")这是在服务器端执行的时候用的客户端是没有 Server的我也怀疑是安全性的问题,但是IE的级别已经很低了,都是“启用”的状态呀!
      

  7.   

    我只做过服务器端的导入Excel,希望能够给你一点帮助
    Response.Clear(); 
    Response.Buffer= true;
    Response.Charset="GB2312";
    Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");
    Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
    //设置输出流为简体中文
    Response.ContentType = "application/ms-excel";
    //设置输出文件类型为excel文件。
    this.EnableViewState = false;
    System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
    this.dgData.RenderControl(oHtmlTextWriter);
    Response.Write(oStringWriter.ToString());
    Response.End();