请教各位朋友,我最近遇到一个问题
需求:将用户表中的 身份证 和 姓名 导出到excel表中csv文件
问题:身份证数据包含纯18位数字 和 数字+结尾字母 的两种情况
1.纯数字导出后,双击csv文件,被科学计数法格式化了,而且后5位置0,如果用文本打开csv则不存在这个问题
2.第二种结尾由于带有字母,所以显示正常
3.我不清楚,如果借助java或者php写到excel里面,会不会有同样的问题(在shell里面我前后加过空格,都被excel处理掉了)
我们导出的方法是shell里面执行sqlplus <<eof的方式,下面是我的脚本主体部分:
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
set escape \
spool res.csv
@test.sql
spool of
test.sql
SELECT '身份证,姓名,' FROM dual;
SELECTcode ||','|| TRIM(USERNAME) ||',' FROM userinfo
-----------------------------------------------------------------------------------------------------------------
其中我们前面加过‘撇号(也就是单引号)’,但是没用,直接打开csv,单引号也被显示出来了
SELECT ''''|| code ||','|| TRIM(USERNAME) ||',' FROM userinfo
在网上也搜索了很多办法,有先生成html再手动copy的,或者用plsql手动复制到excel的。。。。我们想通过自动化的方法定时导出文件,请大家帮忙看看,多谢了
[ 本帖最后由 mckobe23 于 2010-9-26 13:38 编辑 ]
|