请教如何通过 pl/sql多条sql查询结果导出 到 excel
目前知道一个途径,通过spool 把整个数据导出到一个文件
因为多个sql所查询的字段数、字段宽度不一,导出的结果如果放到excel中查看,非常别扭
有没有其他途径,能将pl/sql多条sql查询结果 一条sql 导出一个excel。

解决方案 »

  1.   

    因为查询的sql语句条数比较多(一般40多条),所以想采用这个方法
      

  2.   

    pl/sql工具就有导出到excle的功能:在你查询出的结果集中有一个(蓝色的,上面有一横)也就是右边往左数的第二个菜单--然后你选择--导出cvs格式的文件 ,查询出的数据就会导入到对应路径下面的cvs文件里面,cvs也是常用的oracle导出文件格式..
    不能插入图片...不然可以截图给你;
      

  3.   

    pl/sql 确实有导出excel功能,但是你想要一条sql结果导出到一个excel那就需要手工操作了,也是能够实现的。
      

  4.   

    合并所有所有查询成一条sql  查询数据  导出excel  可以实现吗?
      

  5.   

    从Excel导出数据到Oracle方法汇总--
    2008年12月24日 13:24 来源:ChinaUnix博客 作者:mseaspring 编辑:周荣茂 
        一般我们都喜欢用Excel表格保存各种常用数据,但如果要做信息系统,用Excel存数据是不太现实的,会带来很多操作上的不便。这样有必要将    Excel导入到各种常用的数据库软件中,以供开发使用。这些常用的软件有小型数据库系统Access、大中型数据库系统SQL    Server以及大型数据库系统Oracle等。    那么怎么方便地将Excel数据导入到这些数据库中呢?              一、Access和SQL Server本身作为微软的产品,都提供了对包括Excel数据在内的直接导入功能。    二、而Oracle则需要多费点周折,这里把本人用的方法和在网上搜到的方法一并介绍如下。     第一步、将Excel数据导入到Access,这里需要说明的是,由于Excel对数据格式的限制相对数据库软件较松,所以在导入数据的过程中可能发生某些单元格的数据导入有误。Access会生成一个勘误表,可以针对这个表来查看是哪能些数据产生了导入问题。     第    二步、建立ODBC数据源,通过控制面板-》数据源(ODBC),建立系统DSN,在建立DSN的时候要选择数据库驱动程序,请选对应的驱动,我的机器是    Oracle in OraHome92,然后会弹出一个对话框,来做进一步配置,在TNS Service    Name中会列出本机上可用的"本地Net服务名",请选择对应的服务名后输入要访问数据库用户(在导入时可以修改)和给这个ODBC数据源取个名字就可    以了。         第三步、通过Access导出到Oracle.在导出的"保存类型"下拉框中选"ODBC数据库()",就会弹出ODBC数据源对话框来选择数据源,接下    来就出弹出对应数据源的数据库连接信息,默认的用户名是建立ODBC数据源时指定的,在导出时可以修改成为别的用户。     说明、由此可以看出,通过Access导出到其它数据库系统是很方便的,只要机器上有目标数据库系统的ODBC驱动,并建立了ODBC数据源,就可以成功导出。     方法2:     导入到sql server,用SQL Server提供的导出工具导入Oracle, 但对一些image字段支持不好,你如果没这种字段就行。     方法3:    高级用户可以通过以下方法(只限文本字段):     先把Excel另存为.csv格式文件,这种格式文件是以逗号数据字段分隔的文本文件,如test.csv,再编写一个insert.ctl    用sqlldr进行导入!    insert.ctl内容如下:    load data           --1、控制文件标识    infile 'test.csv'       --2、要输入的数据文件名为test.csv    append into table table_name     --3、向表table_name中追加记录    fields terminated by ','   --4、字段终止于',',是一个逗号    (field1,    field2,    field3,    ...    fieldn)-----定义列对应顺序     注意括号中field排列顺序要与csv文件中相对应    然后就可以执行如下命令:    sqlldr user/password control=insert.ctl         方法4(只限文本字段):    其    实如果你的单个文件不大的情况下(少于100000行), 可以全选COPY ,然后用PL/SQL    Developer:先建立好表格,注意源表格和目的表格的字段顺序的对应,然后运行SQL语句select * from table for    update或者在左侧树形菜单中选中相应的表格,点击右键,在弹出式菜单中点击"Edit Data". 然后打开表格数据上方的锁,    再按一下加号,添加一行新空行. 鼠标点到第一个空格然后粘贴. COMMIT即可.(小窍门, Oracle不支持的, 但很好用, 不会有问题)
      

  6.   

    无法实现一次导出多个结果集到Excel。