如何将datagrid的内容导出导excel中,我的datagrid是分页的,导出时全部内容导出,而不是当前页的内容

解决方案 »

  1.   


           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);
                datagrid1.RenderControl(hw);
                Response.Write(tw.ToString());
                Response.End();
            }
            public override void VerifyRenderingInServerForm(Control control)
            {
            }        protected void Button1_Click(object sender, EventArgs e)
            {
                Export("application/ms-excel", "结果.xls");        }需要导入
    using System.IO;
    using System.Text;
      

  2.   

    原来写的代码//该方法实现将数据导入到Excel文件中,其中的DataTable dt就是你需要将数据写入到Excel中的数据;
            static public void ExportExcel(DataTable dt, StreamWriter w)
            {
                try
                {
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        w.Write(dt.Columns[i]);
                        w.Write(' ');
                    }
                    w.Write(" ");                object[] values = new object[dt.Columns.Count];
                    foreach (DataRow dr in dt.Rows)
                    {
                        values = dr.ItemArray;
                        for (int i = 0; i < dt.Columns.Count; i++)
                        {
                            w.Write(values[i]);
                            w.Write(' ');
                        }
                        w.Write(" ");
                    }
                    w.Flush();
                    w.Close();
                }
                catch
                {
                    w.Close();
                }
            }
      

  3.   

    问一下,如何将datagrid转化为datatable呢?