gridview有10列数据,只想导出其中的某些列,如只到5列,而不是所有列。

解决方案 »

  1.   

    GridView导出的是表内容,既然导出5列,那就只显示5列就可以导出了
       //导出Excel
        protected void Button1_Click(object sender, EventArgs e)
        {
            Export("application/ms-excel", "学生成绩报表.xls");
        }
        //导出Excel函数
        private void Export(string FileType, string FileName)
        {
            Response.Charset = "GB2312";
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
            Response.ContentType = FileType;
            this.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            GridView1.RenderControl(hw);
            Response.Write(tw.ToString());
            Response.End();
        }
        //导出方法,必须有!!!!!!!!
        public override void VerifyRenderingInServerForm(Control control)
        {
        }
      

  2.   

    //导出Excel
        protected void Button1_Click(object sender, EventArgs e)
        {
            Export("application/ms-excel", "学生成绩报表.xls");
        }
        //导出Excel函数
        private void Export(string FileType, string FileName)
        {
          //在这里将你不想要的列隐藏掉即可。比如隐藏 6,7行 
            gridview1.Rows[6].visable=false;
             gridview1.Rows[7].visable=false;
            Response.Charset = "GB2312";
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
            Response.ContentType = FileType;
            this.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            GridView1.RenderControl(hw);
            Response.Write(tw.ToString());
            Response.End();
        }
        //导出方法,必须有!!!!!!!!
        public override void VerifyRenderingInServerForm(Control control)
        {
        }
      

  3.   

    放个隐藏的GridView设置成显示5列.导出这个隐藏的GridView的数据到EXCEL.
      

  4.   

    gridview.rows中取出你要的gridviewrow数组,然后构造新的gridview对象,然后以新的gridview导出。最好好事好好研究下EXCEL,写个简单的EXCEL处理类并不复杂。