http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50

解决方案 »

  1.   

    拜托,你在server上运行了一个EXCEL,和IE有什么关系阿。又不是一台机器。
      

  2.   

    neilwang大哥好像你是误会我了。我的意思是客户端通过IE来访问服务器,客户端用户输入一些检索条件后,服务器端根据这些条件到数据库中检索,最后把结果生成一个Excel文件,并且在客户端的IE里面显示。现在由于小妹我的机器即是服务器又是客户端,所以我可以看到内存中确实是生成了Excel,但为什么就没有把Excel显示出来呢?
      

  3.   

    private void PopUpWindow()
    {
    if (this.m_PopupURL.Length > 0) 
    {
    this._text = "<script language='javascript'>window.open('" +  this.m_PopupURL+ "')</script>";
    }
    }
    m_PopupURL:你的Excel文件相对地址 
    等你生成EXCEL文件后就调用这个函数,会提示你是下载还是打开,你选择打开就可以了,就会在IE里面打开Excel文件
      

  4.   

    / // 设置为true,则在当前的数据上追加数据,否则,重写当前数据
    // StreamWriter w = new StreamWriter(Server.MapPath("Excel模版文件\\" + TB1.Text + ".xls"), false, Encoding.Default);
    // myConn.Open();
    //
    // try
    // {
    // OleDbCommand myCmd = myConn.CreateCommand();
    // myCmd.CommandText= sql;
    // OleDbDataReader myDr = myCmd.ExecuteReader();
    // //读数据表中字段
    // for (int i = 0; i < myDr.FieldCount; ++i)
    // {
    // w.Write(myDr.GetName(i));
    // w.Write('\t');
    // }
    // w.Write("\r\n");
    // //读数据表中记录
    // /*object[] values = new object[myDr.FieldCount];
    // while (myDr.Read())
    // {
    // myDr.GetValues(values);
    // for (int i = 0; i < values.Length; ++i)
    // {
    // w.Write( values[i].ToString());
    // w.Write('\t');
    // }
    // w.Write("\r\n");
    // }*/
    // w.Flush(); 
    // w.Close();
    // myDr.Close();
    // myConn.Close();
    //
    // Response.Redirect ("Excel模版文件\\" + TB1.Text + ".xls");
    // }
    // catch
    // {
    // w.Close();
    // myConn.Close();
    // return;
    // }
    }
      

  5.   

    Zhang_1978(小卿) :我生成的EXCEL,我根本就没有定义文件名字啊?这个相对地址怎么写啊?
      

  6.   

    方法1
    把这个Execl的内容在服务器的Web目录中生成一个临时的文件,将其URL发送给客户端,并且在客户端Session断开后删除该文件(如果这个文件只是一个人用的话)方法2
    把这个Execl的内容传递到客户端,客户端写脚本创建Execl对象显示或者一样生成本地临时文件后用IE打开
      

  7.   

    Dionix(Dionix)大哥:
    能否结合我的代码,写段具体的代码呢?谢谢了。小妹我快要疯了。