---------------------------------------------------------------------------------------
在程序中导出 csv 文件,csv实际上就是一个文件文件,
如果文件内容 如下:
姓名,身份证号
王江民,000123456789123456789
则用excel打开后,身份证号会变成科学计数法。
如果文件内容如下:
姓名,身份证号
王江民,'000123456789123456789
注意,我在身份证号前加了一个单引号
这样的csv用excel打开后,确实不以科学计数法显示了,
但是前面会多出一个单引号。
这样也不行呀,这个单引号不会消失的呀。
我试过了,如果在excel环境下,为一个数字串或是文本字符串前加一个单引号,这个单引号是不显式的。
但是如果csv文件中,字符串前有单引号,用excel打开后依然显示,所以我认为在csv文件中,给身份证号前面加上单引号并不可行,
但是有什么更好的办法呢?
这个程序要从数据库中导出 csv 格式的数据。(注意,不是导出 excel 格式的,而是导出csv格式的)
如何能保证这个csv文件,用excel打开后,身份证号显示正常呢?
7 个解决方案
#1
excel列的格式必须是文本格式才能正确显示的
#2
不是单引号',而是`(和~在同一键)
或者
姓名,身份证号
王江民,="000123456789123456789"
姓名,身份证号
王江民,`000123456789123456789
或者
姓名,身份证号
王江民,="000123456789123456789"
姓名,身份证号
王江民,`000123456789123456789
#3
哇学习了,我也遇到了 谢谢楼主
#4
`这个符号有什么特别呢?也是显示在身份证号前呀。
不过我发现腾讯的财付通的下载的csv文件,每个列前面都加了一个 ` ,
我不知为什么加这个符号,与单引号的作用不是相同吗?
这个符号有什么特别之处吗?
听你这么一说,感觉这个 ` 确有特别之处,请指教。
#5
听你这么一说,感觉这个
` 确有特别之处,请指教。
#6
不太清楚。
反正看lisp/scheme时就是这样:
`(+ 1 2) => (+ 1 2)
(+ 1 2) => 3
反正看lisp/scheme时就是这样:
`(+ 1 2) => (+ 1 2)
(+ 1 2) => 3
#7
`这个符号在EXCEL里还是显示的啊
#1
excel列的格式必须是文本格式才能正确显示的
#2
不是单引号',而是`(和~在同一键)
或者
姓名,身份证号
王江民,="000123456789123456789"
姓名,身份证号
王江民,`000123456789123456789
或者
姓名,身份证号
王江民,="000123456789123456789"
姓名,身份证号
王江民,`000123456789123456789
#3
哇学习了,我也遇到了 谢谢楼主
#4
`这个符号有什么特别呢?也是显示在身份证号前呀。
不过我发现腾讯的财付通的下载的csv文件,每个列前面都加了一个 ` ,
我不知为什么加这个符号,与单引号的作用不是相同吗?
这个符号有什么特别之处吗?
听你这么一说,感觉这个 ` 确有特别之处,请指教。
#5
听你这么一说,感觉这个
` 确有特别之处,请指教。
#6
不太清楚。
反正看lisp/scheme时就是这样:
`(+ 1 2) => (+ 1 2)
(+ 1 2) => 3
反正看lisp/scheme时就是这样:
`(+ 1 2) => (+ 1 2)
(+ 1 2) => 3
#7
`这个符号在EXCEL里还是显示的啊