首页 > 代码库 > html导出到excel数据格式不正确解决方法
html导出到excel数据格式不正确解决方法
同事离职 ,把手头的程序给我了,第二天客户说:“为什么我们导出的excel不会自己汇总啊??”
。。。。您稍等一下,我看一下哈(我怎么知道你们导出的excel为什么不会汇总啊!!)
打开程序
没什么问题,然后导出打开
这是神马?合着你导出来的全部是文本格式的了。文本格式存储的数字怎么汇总你告诉我。
看代码吧
1 void exportexcel() 2 { 3 DataTable dt = getDataTable(); 4 if (dt != null) 5 { 6 Response.Clear(); 7 Response.Buffer = true; 8 Response.Charset = "GB2312"; 9 Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(exceltitle.Value, System.Text.Encoding.UTF8) + ".xls"); 10 Response.ContentEncoding = System.Text.Encoding.UTF8; 11 12 Response.ContentType = "application/ms-excel"; 13 this.EnableViewState = false; 14 System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); 15 System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); 16 17 gvExport = new System.Web.UI.WebControls.GridView(); 18 gvExport.DataSource = dt.DefaultView; 19 gvExport.AllowPaging = false; 20 gvExport.DataBind(); 21 gvExport.Attributes.Add("style", "vnd.ms-excel.numberformat:@"); 22 // 返回客户端 23 gvExport.RenderControl(oHtmlTextWriter); 24 Response.Write(oStringWriter.ToString()); 25 Response.End(); 26 27 28 } 29 close(); 30 }
excel的数据格式:gvExport.Attributes.Add("style", "vnd.ms-excel.numberformat:@");
下面是常用的一些格式:
1)文本:vnd.ms-excel.numberformat:@
2)日期:vnd.ms-excel.numberformat:yyyy/mm/dd
3)数字:vnd.ms-excel.numberformat:#,##0.00
4)货币:vnd.ms-excel.numberformat:¥#,##0.00
5)百分比:vnd.ms-excel.numberformat: #0.00%
你这里输出的格式就是文本啊!果断的改成第三条数字类型的(哈哈,我是不是很聪明)
等等,我表头的日期怎么回事,也变成数字了,看到它还有两位小数的就挠头了(失误,失误哈)
gvExport.HeaderRow.Attributes.Add("style", "vnd.ms-excel.numberformat:@");
gvExport.Attributes.Add("style", "vnd.ms-excel.numberformat:#,##0.00");
把表头改成原来的就行了,咱也不去改成时间类型了。
ok!完美,perfect!!!
本文由@巴黎_帅哥 原创,未经同意不得转载
html导出到excel数据格式不正确解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。