如何将oracle中其中一张表的数据行导出到Excel中

 我来答
badkano
推荐于2016-09-01 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885368
团长

向TA提问 私信TA
展开全部

无法直接保存到excel中,但是可以保存到csv文件,同样是excel的格式,方法如下:

譬如要把文件生成在d盘下的test目录下:

1,在d盘根目录下新建test目录 
2,sqlplus以system用sysdba登录
3,create or replace directory TMP as ’d:\test’;
4,grant read on directory TMP to user; 
5,alter system set utl_file_dir='d:\test' scope=spfile;

然后建立存储过程,表是随便建了一个,最后的文件名按要求需要按照当前日期的前一天生成,所以后边文件名的地方write_file_name处就按照要求来了

create or replace PROCEDURE SP_OUTPUT
(
on_flag      OUT      NUMBER,
out_reason   OUT      VARCHAR2)
is
v_code          number;
v_text          varchar2(255);

file_handle utl_file.file_type;
Write_content VARCHAR2(1024);
Write_file_name VARCHAR2(50);
v_aaa varchar2(5);
v_bbb varchar2(5);

cursor cur_sp_out
is
select aaa,bbb
from aaa;
begin
open cur_sp_out;
loop
    fetch cur_sp_out into   v_aaa,v_bbb;
    exit when cur_sp_out%notfound;
    write_file_name := to_char(SYSDATE,'YYYYMMDD')||'.xls';
                             file_handle := utl_file.fopen('TMP',write_file_name,'a');
                             write_content := v_aaa||' '||v_bbb;
                            --write file
                             IF utl_file.is_open(file_handle) THEN
                                utl_file.put_line(file_handle,write_content);
                            END IF;
                            --close file
                            utl_file.fclose(file_handle);
    end loop;
    close cur_sp_out;

   v_code := 0;
v_text := '完成';
exception
when others then
on_flag := SQLCODE;
    out_reason := SQLERRM;
    begin
    IF utl_file.is_open(file_handle) THEN
    utl_file.fclose(file_handle);
    end IF;
    end;
    rollback;
end;


这样基本就完成了,但是建立完毕后需要重启数据库,否则文件写不进指定的目录下

需要注意的是: write_content := v_aaa||' '||v_bbb;   这个位置

v_aaa|| 和v_bbb中间引号的地方是TAB符,否则输出来的XLS文件中,会把这些字符串合在一个单元格中。

匿名用户
2013-05-27
展开全部
可以使用PB等软件,将oracle表中的数据导出为excel,但如果使用的excel是2007版以前的版本时,需注意数据表中数据的多少,否则可能存在溢出不能导出的错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-27
展开全部
点左上角的export,save,默认的是txt格式,找到保存的文件,右击,打开方式,选择excel就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式