ORACLE导出到EXCEL

示例是每1000条记录spool 到一个 excel 文件中

测试数据创建
代码:
    
    

SQL
> CREATE TABLE EXP_EXCEL (ID NUMBER, COL VARCHAR2(10));

Table created

SQL
> INSERT INTO EXP_EXCEL SELECT LEVEL, 'COL_'||TO_CHAR(LEVEL,'FM000000') FROM DUAL CONNECT BY LEVEL<=3000;

3000 rows inserted

SQL
> COMMIT;

Commit complete

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



创建一个脚本, 比如 名称为spool_xls.sql
脚本内容如下:
代码:
    
    

set
echo off
set linesize 1000
set term off
set verify off
set feedback off
set pagesize 50000
set heading off
set trimspool on

spool exp_xls
.sql
select
'SPOOL C:EXP_EXCEL_'||LEVEL||'.XLS'||CHR(10)||
       
'SELECT * FROM (SELECT t.*, row_number() over(order by ID) as rn FROM exp_excel t) WHERE rn BETWEEN 1000 * ('||level||' -1) + 1 AND 1000 * '||level||';'||chr(10)||
       
'SPOOL OFF'
  
from dual
connect by level
<=(select ceil(count(*)/1000) from exp_excel);
spool off

set heading on
set markup html on entmap off spool on preformat off
@exp_xls.sql
set markup html off entmap off preformat on
set term on
set verify on
set feedback on
set pagesize 14
set linesize 80
set trimspool off
set
echo off
prompt spool over
.

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



脚本保存, 在SQL*Plus下执行创建的脚本, 就会在c盘的根目录下生成名为EXP_EXCEL*.XLS的文件, 用excel打开看看吧
(应该会有3个文件)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值