asp.net如何把 datagrid 或者 gridview datalist中的数据导出为ECCEL格式

解决方案 »

  1.   

    试试下面这个方法:
    //导出到EXCEL
            protected void btnToExcel_Click(object sender, EventArgs e)
            {
                Response.Clear();
                Response.AddHeader("content-disposition", "attachment; filename=" + DateTime.Now.ToString() + ".xls");
                Response.Charset = "";            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");  //不转换编码就导出后可能会出现乱码
                Response.ContentType = "application/ms-excel";            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);            for (int i = 0; i < gvMsgPackage.Rows.Count; i++)
                {
                    gvMsgPackage.Columns[1].Visible = false;
                    gvMsgPackage.Rows[i].Cells[1].Visible = false;
                }            gvMsgPackage.RenderControl(htmlWrite);            Response.Output.Write(stringWrite.ToString());
                Response.Flush();
                Response.End();
            }        public override void VerifyRenderingInServerForm(Control control)   //override VerifyRenderingInServerForm方法,否则会报错
            {        }