关于导出csv格式文件的身份证号、日期的处理
EXCEL系统的单元格,默认格式是常规或数值格式下,数字超过10位即以科学计数法显示,对15位以后的数字用0填充。
在导入到Excel、导出csv文件时,对于身份证号自动变成科学计数法的地方,就要做一些必要的相应设置,
我们知道在程序中一个数字连接一个字符串,程序会把整个当作字符串处理;
我们最终目的是让Excel系统对单元格的数据识别成字符串就可以正常显示了,网上也有很多方法。
正确显示方法:
第一个方法
是把数字用双引号引起来,相等于把数据自动变为文本格式,但是很不好看。
新建一个Excel文件,通过数据=》获取外部数据=》来自文本,这个后面的向导中选择正确的分隔符和设置正确的对应列的格式,可以正常显示
第二个方法
把数字用双引号引起来,或者在数字前面加英文的单引号\',和Excel的方法一样,相等于把数据自动变为文本格式。
我们在学校时录过信息的都知道加身份证号码时必须在前面加一个英文的单引号吧。但是这样显示不好看
第三个方法
在输入数字前先将单元格格式设置为文本。选定单元格,在其上点鼠标右键——“设置单元格格式”,点“数字”标签——“文本”——“确定”。
不过这种方式在保存一次打开后又会恢复科学计数法形式的。
第四个方法
在程序导出csv文件时,在每个字段前加上"\t"(最终在文件中也就是体现的Tab按键)即可,再使用Excel打开csv文件时,可正常显示,亲测有效。
例如:Response.Write(drv[col].ToString()+"\t");
最终生成的文件类似如下这样的格式:
参考:
https://blog.csdn.net/a1170201028/article/details/50526924