sqlplus导出身份证到excel中,科学计数法问题 —— 问题贴

本文讨论了从用户表导出包含身份证号码的CSV文件时遇到的问题,特别是身份证号码被科学计数法格式化的情况,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

-----------------------------------------------------------------------------------------------------------------------

需求:将用户表中的 身份证 和 姓名 导出到excel表中csv文件


问题:身份证数据包含纯18位数字 和 数字+结尾字母 的两种情况
1.纯数字导出后,双击csv文件,被科学计数法格式化了,而且后5位置0,如果用文本打开csv则不存在这个问题
2.第二种结尾由于带有字母,所以显示正常
3.我不清楚,如果借助java或者php写到excel里面,会不会有同样的问题(在shell里面我前后加过空格,都被excel处理掉了)


我们导出的方法是shell里面执行sqlplus <

exp.sh
# Export data
sqlplus -S /nolog << EOF
conn $user/$pass
@main.sql
EOF


mian.sql
set linesize 200
set term off verify off feedback off pagesize 0
set markup html off entmap Off spool on preformat off
spool res.csv
@test.sql
spool of


test.sql
SELECT '身份证,姓名,' FROM dual;
SELECT code ||','|| TRIM(USERNAME) ||',' FROM userinfo


+++++++++++++++++++++++++++++++++++++++++++
其中我们前面加过‘撇号(也就是单引号)’,但是没用,直接打开csv,单引号也被显示出来了 SELECT ''''|| code ||','|| TRIM(USERNAME) ||',' FROM userinfo


在网上也搜索了很多办法,有先生成html再手动copy的,或者用plsql手动复制到excel的。。。。我们想通过自动化的方法定时导出文件



解决方法

-----------------------------------------------------------------------------------------------------------------------

使用Java的excel开发包poi定制excel单元格为文本格式,强制身份证字段sheet左上角有个蓝色的小箭头


具体效果图可参见15楼内容 http://www.itpub.net/thread-1352270-2-1.html


原帖地址 http://www.itpub.net/thread-1352270-1-1.html


[@more@] sqlplus导出身份证到excel中,科学计数法问题

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9183234/viewspace-1039498/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9183234/viewspace-1039498/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值