天若有情.NET

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

今天很平常的用多次使用的C#,在Web应用程序中,导出DataGrid数据为Excel让用户下载,不可思议的事情发生了。

原来是15位的身份证号给我整这样:

3.62201E+14

鼠标双击成这样了:
123456811108888
(身份证我改了,若有雷同,纯属巧合)

点击“身份证列”,选择“整列”--点击“鼠标右键”--选择“设置单元格格式...”--“数字”选项卡--我再选中“自定义”--“类型”中我依然选了“0”,嗯,终于看到了:
123456811108888
123456811108888
123456811108888
123456811108888
123456811108888
123456811108888000
123456811108888
123456811108888
123456811108888000
123456811108888
123456811108888000
(身份证我改了,若有雷同,纯属巧合)

可问题来了,你没发现身份证是18位的都变样子了,没看出来吗?要知道上面是18位的,后三位可不是“0”,那我不玩完了吗?

'123456811108888               
'123456811108888               
'123456811108888               
'123456811108888               
'123456811108888               
'123456811108888               
'123456811108888333            
'123456811108888               
'123456811108888               
'123456811108888333            
'123456811108888333            

找了点资料,原来作为“文本”写出来就OK了,如上“图”显示,写出身份证号前先添加个“'”,就是小引号呢。
程序怎么写,不用说了吧……^)^

哎,原来Excel还有这样的“毛病”!

附:身份证问题.rar

posted on 2005-01-31 14:01  pathik  阅读(7712)  评论(14编辑  收藏  举报