日期:2014-05-18  浏览次数:20411 次

关于GridView导出Excle表问题
怎样将GridView记录导出excel表,我看“wxr0323”写的“ public static void DataTable1Excel(System.Data.DataTable dtData)”,不知怎样用button触发。public static void DataTable1Excel(System.Data.DataTable dtData)
  {
  System.Web.UI.WebControls.GridView gvExport = null;
  // 当前对话 
  System.Web.HttpContext curContext = System.Web.HttpContext.Current;
  // IO用于导出并返回excel文件 
  System.IO.StringWriter strWriter = null;
  System.Web.UI.HtmlTextWriter htmlWriter = null;

  if (dtData != null)
  {
  // 设置编码和附件格式 
  curContext.Response.ContentType = "application/vnd.ms-excel";
  curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
  curContext.Response.Charset = "utf-8";

  // 导出excel文件 
  strWriter = new System.IO.StringWriter();
  htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
  // 为了解决gvData中可能进行了分页的情况,需要重新定义一个无分页的GridView 
  gvExport = new System.Web.UI.WebControls.GridView();
  gvExport.DataSource = dtData.DefaultView;
  gvExport.AllowPaging = false;
  gvExport.DataBind();

  // 返回客户端 
  gvExport.RenderControl(htmlWriter);
  curContext.Response.Write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />" + strWriter.ToString());
  curContext.Response.End();
  }
  }




------解决方案--------------------

不知怎样用button触发

-----》

button的click事件调用DataTable1Excel方法传进DataTable
------解决方案--------------------
我做过这个,你加我群118950891 问下
------解决方案--------------------
button_click()事件里面执行 DataTable1Excel(dt)这个方法就可以了呀~~~