将gridview中的数据导入excel中

将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:###岁"); //设置格式
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值