oracle导出excel

来源:互联网 发布:电脑软件快捷键壁纸 编辑:程序博客网 时间:2024/06/05 05:35

最专业的方法---用原始工具sqlplus

原文参见:http://www.eygle.com/archives/2005/04/eoasqlplusieaae.html

我做了一点修改,如下所示:

 

1.main.sql
用以设置环境,调用具体功能脚本
2.
功能脚本-get_tables.sql
为实现具体功能之脚本
通过这样两个脚本可以避免spool中的冗余信息,参考:
如何去除SQLPLUSSPOOL的冗余信息 

示例如下:
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 d:/tables.xls


@d:/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" @d:/main.sql




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]$ 



此处输出为xls文件,通过下图我们可以看到输出效果:

 

main.sql脚本中的,spooltables.xls更改为spool tables.htm,我们可以获得htm格式输出,效果如下图:

0 0