string FileName ="文件名" +".xls";        
            Response.Clear(); 
            Response.Buffer
= true
            Response.Charset
="GB2312";    
            Response.AppendHeader(
"Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(FileName,Encoding.UTF8).ToString());
            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.DataGrid1.RenderControl(oHtmlTextWriter); 
            Response.Write(oStringWriter.ToString());
            Response.End();            

       问题1:如果Excel 绑定了模板列或进行表头排序(表头变成了linklabel),导出Excel 就会报错.因为时间匆忙,我能想到的方法就是在导出前重新绑定datagrid,但是相对的效率好像就低了.
       问题2:关于这段代码没有问题,但是当弹出下载提示框后,点击保存,浏览器在保存文件后,将弹出该提示的窗口也关闭掉了,为什么?(此种现象在有的机器上会出现,有的就不会)为什么?是有关浏览器的设置不同吗?在网上找了很久,还是没有找到有问相关问题的!

      上面两个问题困扰我很久了,希望知道的大人不吝赐教!
posted on 2007-02-07 10:02  xiazhaoxia  阅读(430)  评论(0编辑  收藏  举报