楼主: mckobe23

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

[复制链接]
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
11#
发表于 2010-9-26 15:12 | 只看该作者
java有excel开发包可以下载,poi

使用道具 举报

回复
论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
12#
发表于 2010-9-26 15:27 | 只看该作者
转个大师写的给你,直接导excel很简单的,不需要select 字段有||

-利用可以导出html的好处来导出xls格式,补充csv格式中字段可能含有逗号造成格式乱。而且自动将字段分割,自动
加上列标题,很友好。
通过SQL*PLUS我们可以构建友好的输出,满足多样化用户需求。
本例通过简单示例,介绍通过sql*plus输出xls,html两种格式文件.
首先创建两个脚本:
1.main.sql
用以设置环境,调用具体功能脚本
2.功能脚本-get_tables.sql
为实现具体功能之脚本
通过这样两个脚本可以避免spool中的冗余信息,参考:
如何去除SQLPLUS中SPOOL的冗余信息

示例如下:
1.main.sql脚本:
[oracle@jumper utl_file]$ more main.sql
set linesize 200
set term off verify off feedback off pagesize 999
set markup html on entmap ON spool on preformat off
spool tables.xls
@get_tables.sql
spool off
exit

2.get_tables.sql脚本:
[oracle@jumper utl_file]$ more get_tables.sql
select owner,table_name,tablespace_name,blocks,last_analyzed
from all_tables order by 1,2;

3.执行并获得输出:
[oracle@jumper utl_file]$ sqlplus "/ as sysdba" @main

SQL*Plus: Release 9.2.0.4.0 - Production on Mon Apr 25 10:30:11 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
[oracle@jumper utl_file]$ ls -l tables.xls
-rw-r--r--    1 oracle   dba         69539 Apr 25 10:30 tables.xls
[oracle@jumper utl_file]$

使用道具 举报

回复
论坛徽章:
1
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
13#
 楼主| 发表于 2010-9-26 16:04 | 只看该作者

回复 #12 dingjun123 的帖子

恩恩,我的脚本就是参考这个大师改的,在网上搜了很久,基本都是这个例子的转载

我们尝试按照大师的做法,导出xls或者html里面身份证同样被科学计数法了:(


我们的关键问题是 身份证显示 的问题

使用道具 举报

回复
论坛徽章:
1
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
14#
 楼主| 发表于 2010-9-26 16:04 | 只看该作者

回复 #11 lastwinner 的帖子

请教poi可以避免科学技术法么?如果可以,我去建议开发使用下。。。

使用道具 举报

回复
论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
15#
发表于 2010-9-26 16:24 | 只看该作者
的确不行,那就直接写excel了,jxl就成,jxl可以直接当字符串写,生成数字单元格的excel上面有绿三角,poi支持2007

[ 本帖最后由 dingjun123 于 2010-9-26 16:36 编辑 ]

1.JPG (5.76 KB, 下载次数: 44)

1.JPG

使用道具 举报

回复
论坛徽章:
1
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
16#
 楼主| 发表于 2010-9-26 17:13 | 只看该作者

回复 #15 dingjun123 的帖子

对对,就是要这个绿三角!!!

是sqlplus直接导出么,怎么做的分割呀?

SQL语句是否写分割||?

我试了下,我用sqlplus导了个 不行。。。。。。。。

[ 本帖最后由 mckobe23 于 2010-9-26 17:23 编辑 ]

使用道具 举报

回复
论坛徽章:
1
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
17#
 楼主| 发表于 2010-9-26 17:21 | 只看该作者

回复 #15 dingjun123 的帖子

您的意思是用java的poi导出来的么。。。。。。。。。。。

是说需要我有个java环境,down个poi开发包,写个java脚本么?

[ 本帖最后由 mckobe23 于 2010-9-26 17:24 编辑 ]

使用道具 举报

回复
论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
18#
发表于 2010-9-26 18:17 | 只看该作者
原帖由 mckobe23 于 2010-9-26 17:21 发表
您的意思是用java的poi导出来的么。。。。。。。。。。。

是说需要我有个java环境,down个poi开发包,写个java脚本么?

用JXL就行,JDBC+JXL很简单,要不你用spool导excel加个特殊符号呗,看的时候或处理的时候剔除那个特殊符号,不碍事吧

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
19#
发表于 2010-9-26 22:05 | 只看该作者
在我的项目中,poi可以避免科学计数法,但我项目中的问题是你双击一下该单元格,什么修改也不做,他又会变回科学计数法去,我估计是开发的没做好相关设置,不然应该没事的

建议你那边开发的去尝试下jxl或者poi吧,注意设置excel的单元格格式就是了

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
20#
发表于 2010-9-26 23:07 | 只看该作者
以前我是输出到文本(CSV), 另外有一个格式化好的EXCEL模板,里面有个VBA宏把文本的数据粘贴进来再另存为新的EXCEL文件。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表