将gridview中的数据导入excel中

来源:互联网 发布:大数据与日常生活 编辑:程序博客网 时间:2024/04/19 19:29

 将gridview中的数据导入excel中,解决汉字出现乱码的问题。

1、首先编写导出函数Export

public void Export(string FileType,string FileName)
    {
        Response.Charset = "UTF-8";
        Response.ContentEncoding = System.Text.Encoding.UTF8;
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));
        HttpContext.Current.Response.Write("<meta   http-equiv=Content-Type   content=text/html;charset=utf-8>");    //添加改行,消除汉字乱码
        Response.ContentType = FileType;
        this.EnableViewState =false ;
        StringWriter tw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(tw);
        GridView1.RenderControl(hw);
        Response.Write(tw.ToString());
        Response.End();
    }

2、按钮事件调用该方法

protected void Button1_Click(object sender, EventArgs e)
    {
        Export("application/ms-excel","学生信息表.xls");
    }

3、重写VerifyRenderingInServerForm事件,如果是将datagrid中的数据导入到excel中,就没必要重写该方法。

public override void VerifyRenderingInServerForm(Control control)
    {

      //内容随意,可不写
    }

显示如下图:

如果要格式化输出gridview的内容,可以添加如下方法:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:###岁");  //设置格式
        }
    }

原创粉丝点击