<script language="javascript">     function Excel(){
      <%
     ArrayList list = new ArrayList();
     for (int i = 0; i < 10; i++) {
        RowData ROW = new RowData(); 
ROW.setRow1("1");
ROW.setRow2("2");
ROW.setRow3("3");
ROW.setRow4("4");

        list.add(ROW);
        WriteXLS.writeExcelBo("c:\\输出.xls",list);
      }
      %>
  
}                                            
</script>  这是代码的一部分,问题是这样的:当我在ie输入网址后,excel文件自动下载完毕!(正确的应该是:点击按钮,然后才会下载EXCEL文件)
请问如何解决???

解决方案 »

  1.   

    点击后弹出一个新文件,内容就用:<%
      ArrayList list = new ArrayList();
      for (int i = 0; i < 10; i++) {
      RowData ROW = new RowData();  
    ROW.setRow1("1");
    ROW.setRow2("2");
    ROW.setRow3("3");
    ROW.setRow4("4");  list.add(ROW);
      WriteXLS.writeExcelBo("c:\\输出.xls",list);
      }
      %>
      

  2.   

    什么意思??
    不用加
    <%
    %>
      

  3.   

    分清楚客户端代码和服务器端代码的执行优先级,你的js代码是随着http response body返回给客户端的,而服务器端代码会在http返回之前执行。
      

  4.   

    运行的是后台代码,根本不用点……
    如果你要点的就要放到button的click事件里面而不是放到一个js的function里面
    你现在放到的function里面,只要打开页面就会运行,因为你是后台代码,和js没有半毛钱关系……
      

  5.   

    你那个服务器端代码,你访问这个页面那不直接执行完毕然后就输出了要想达到你那个效果,要加个判断
    <%
    if(Request.QueryString["getex"]=="1"){//==========判断是否为下载操作
      ArrayList list = new ArrayList();
      for (int i = 0; i < 10; i++) {
      RowData ROW = new RowData();  
    ROW.setRow1("1");
    ROW.setRow2("2");
    ROW.setRow3("3");
    ROW.setRow4("4");  list.add(ROW);
      WriteXLS.writeExcelBo("c:\\输出.xls",list);
      }
      Response.End();//====
    }
      %>
    <script language="javascript">  function Excel(){
        window.location='?getex=1';//加一个参数,如果存在这个参数才执行服务端代码
    }   
    </script>
    <a href="javascript:Excel()">点击下载</a>
      

  6.   

    其实我是有
      <form >
          <input type="button" value="导出"  onclick="Excel()">
               
            </form>
    语句的!
      

  7.   

    看你第一次的代码像.net 但你贴的 form代码就不像.net
    如果是.net,应该是:<asp:Button ID="Button1" runat="server" Text="Button" 
            onclick="Button1_Click"  />    protected void Button1_Click(object sender, EventArgs e)
        {
    //
        }
      

  8.   

    怪我没说清楚,是java,不是.net[/color],我的比较完整的代码如下:
     <body> 
            <form >
                
                <input type="button" value="导出"  onclick="Excel()">
               
            </form><script language="javascript">     function Excel(){
          <%
         ArrayList list = new ArrayList();
         for (int i = 0; i < 10; i++) {
            RowData ROW = new RowData(); 
    ROW.setRow1("1");
    ROW.setRow2("2");
    ROW.setRow3("3");
    ROW.setRow4("4");
            list.add(ROW);
            WriteXLS.writeExcelBo("c:\\输出.xls",list);
          }
          %>
    }                                            
    </script>
    </body>问题还是没有解决呢。赐教!!!!谢谢!!!!!问题:进入ie浏览器后,还未点击button“导出”,刚进入页面,“c:\\输出.xls”文件就自动下载了。为什么呢?
      

  9.   

    试一下去掉 <%  %>Js里面不应该是这个吧。。我猜的
      

  10.   


    提示有错误,新加入的有注释的那句有错呢?[i]if(Request.QueryString["getex"]=="1"){//==========判断是否为下载操作
    Request cannot be resolved