在数字字符串后加"/r"
今天很平常的用多次使用的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还有这样的“毛病”!