为了账号安全,请及时绑定邮箱和手机立即绑定

gridview导出到excel中,隐藏包含超出11位数字的列时,就会乱码。

gridview导出到excel中,隐藏包含超出11位数字的列时,就会乱码。

哈士奇WWW 2018-12-06 21:02:46
我将不用的列用GridView.Columns.Visible = false;隐藏,接着再导出excel。 发现隐藏其他的列都没事,就是一旦隐藏那些包含超出11位数字的列时,导出的excel就会乱码。 (不知道是不是跟excel中数字超过11位就用科学计算法表示有关,可是我在导出前都将其转化为文字式数字时依然有这个问题。) 求遇到过相同的问题以及知道解决办法的大神帮帮忙。 设置gridview的RowdataBound代码如下 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { GridView1.Columns[5].Visible = false;//这里隐藏列中有数字超过11位的 foreach (TableCell tc in e.Row.Cells) { tc.Attributes["style"] = "border-color:Black"; } if (e.Row.RowIndex != -1) { int id = GridView1.PageIndex * GridView1.PageSize + e.Row.RowIndex + 1; e.Row.Cells[0].Text = id.ToString(); } for (int i = 0; i < e.Row.Cells.Count; i++) { if (e.Row.RowType == DataControlRowType.DataRow) e.Row.Cells[i].Attributes.Add("style", "vnd.ms-excel.numberformat:@"); } }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 287 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信