日期:2014-05-17  浏览次数:20393 次

急 急,在线等 谢谢: asp.net FileUpload与页面数据导出的问题
我的页面大概是这样的:两个gridview(一个用来存放计算的原始数据,一个用来存放结果数据,然后把结果数据导出到excel中)用户添加原始数据有两种方式:一种是在线添加原始数据,还有一种是通过把txt文件中的数据导入到gridview中去,其中第二种方法,我在界面添加了FileUpload 供用户上传要导入数据的文件,现在遇到的问是:
之前没有加第二种方法的时候 结果数据导出到excel 完全正常,但是后来加了一个FileUpload 以实现用户把文件数据导入到gridview,但是加了一个FileUpload 控件后 结果数据导出到excel 就不正常了,打开导出的excel 提示什么文件丢失,并且导出内容还有界面上的控件 ,和之前只导出结果数据完全不同,然后我把FileUpload 屏蔽后,导出的excel又完全正常,现在很是费解 请大家帮忙 谢谢

#region excel //这段把gridview中的数据导出excel的代码应该没有问题 
   
  /// <summary>  
  /// 导出为Excel  
  /// </summary>  
  /// <param name="ctl">控件ID</param>  
  /// <param name="FileName">文件名</param>  
  public static void ToExcel(System.Web.UI.Control ctl, string FileName)
  {
  HttpContext.Current.Response.Charset = "UTF8";
  HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-7");
  HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));

  HttpContext.Current.Response.ContentType = "application/ms-excel"; //image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 

  ctl.Page.EnableViewState = false;
  System.IO.StringWriter tw = new System.IO.StringWriter();
  HtmlTextWriter hw = new HtmlTextWriter(tw);
  ctl.RenderControl(hw);
  HttpContext.Current.Response.Write(tw.ToString());
  HttpContext.Current.Response.End();
  }
  #endregion

------解决方案--------------------
无人要分吗?
------解决方案--------------------
public static void ToExcel(System.Web.UI.Control ctl, string FileName)
ctl调用时容器id还是直接调用gridview 如果是调用的容器id 将FileUpload 挪到容器外试试
------解决方案--------------------
1 GridView导出为excel实例:地址

2 excel导入sql sever数据库:地址
------解决方案--------------------
调试调试 FileUpload复用性很强 有一场网上百度百度就没问题了