开发者社区> 技术小甜> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

GridView导出成Excel字符"0"丢失的处理方式

简介:
+关注继续查看


  GridView 导出成Excel文件,这个代码在网上比较多.但是发现存在一个问题,导出的数据中如果有"012457890"的内容,用Excel打开后就变成了"12457890",少了前面的0;原因是Excel把它当作数字来格式化了,就把"0"给去掉了.

   解决思路:在Excel中作一个包含有"012457890"的内容,设定单元格的显示方式,然后保存成Html的文件,在查看源代码.
发现在CSS格式定义中有:td{mso-number-format:"\@";}.这样问题就容易解决了.
实际伤得代码只是比常见的处理方式多了一句而已.
   
        HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.Buffer = true;
        HttpContext.Current.Response.Charset = "UTF-8";
        HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=WebOrderExcelFile.xls");
        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
        HttpContext.Current.Response.ContentType = "application/ms-excel";

        string strStyle = "<style>td{mso-number-format:\"\\@\";}</style>";
        System.IO.StringWriter tw = new System.IO.StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(tw);
        gvOrder.Page.EnableViewState = false;
        tw.WriteLine(strStyle);
        gvOrder.RenderControl(hw);        
        HttpContext.Current.Response.Write(tw.ToString());
        HttpContext.Current.Response.Flush();
        HttpContext.Current.Response.End();







本文转自小余(Yice)博客园博客,原文链接:  http://www.cnblogs.com/yice/archive/2008/04/17/937757.html  ,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Excel两列数据比较,相同的保存在另外一列
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/51791537 ...
564 0
C# 原样复制excel工作表
在Excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个Excel文档,正因为如此,Excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文档之间复制。
504 0
关于SSIS批量抽取Excel文件报0x80004005错误的解决办法
原文:关于SSIS批量抽取Excel文件报0x80004005错误的解决办法 标题: Microsoft Visual Studio ------------------------------ Package [连接管理器“Excel 连接管理器”] 出错: SSIS 错误代码 DTS_E_OLEDBERROR。
1038 0
C#中创建、打开、读取、写入、保存Excel的一般性代码
1 Excel对象微软的Excel对象模型包括了128个不同的对象,从矩形,文本框等简单的对象到透视表,图表等复杂的对象.下面我们简单介绍一下其中最重要,也是用得最多的四个对象。(1) Application对象。
1033 0
[转]数据库连接方式读取不到Excel数据值的解决方法
由于工作的需要,最近做了一个读取Excel文件与CSV文件关联的数据处理程序,主要用于PDA采集数据的后期处理。 当时有两种方法可用来读取Excel数据,一种是引用Excel的类库,另一种是将其作为扩展数据文件,用ADO连接方式来处理。
720 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载