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
 posted on 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号