string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str);      

  protected void Page_Load(object sender, EventArgs e)
        {

            if (cmd == "DownLoad")
            {
                DownXslFile();
            }

        }

/// <summary>
        /// 导出Excel文档
        /// </summary>
        protected void DownXslFile()
        {


            System.IO.StringWriter sw = new System.IO.StringWriter();

            Server.Execute("report.aspx?cmd=ssss", sw, false);
            string abcd = sw.ToString();
            string fileName = "考勤报表_" + DateTime.Now.Date.ToString("yyyyMMdd") + ".xls";

            //Response.Headers.Clear();
            Response.Clear();
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName));
            Response.Charset = "utf-8";
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.ContentType = "application/ms-excel";
            Response.Write(abcd.ToString());
            Response.End();
        }

 发现生成的文件内容为空.

后来将string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str);      放入page_load方法中才成功.

如下:

  protected void Page_Load(object sender, EventArgs e)
        {

          string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str);      

            if (cmd == "DownLoad")
            {
                DownXslFile();
            }

        }

 

 

 posted on 2008-12-27 19:47  Michael.li  阅读(407)  评论(0编辑  收藏  举报