如何从Oracle SQL将结果导出到Excel?

时间:2018-07-11 09:38:35

标签: oracle

假设我有一些选定的表格结果。我想将其导出为Excel文件。使用SQLdeveloper可以轻松完成。但是我想知道在查询级别上仍然可以做到这一点。

假设我的桌子是MYTABLE

则选定的结果集为

select * from MYTABLE

我想从选择语句上方插入一个Excel工作表。

1 个答案:

答案 0 :(得分:1)

您无法获得XLS(X)文件,但是CSV(逗号分隔值)足以让Excel打开它。例如:

SQL> show user
USER is "SCOTT"
SQL> set colsep ';'
SQL> set pagesize 0
SQL> set linesize 100
SQL> spool emp.csv
SQL> select * from emp;
      7369;SMITH     ;CLERK    ;      7902;1980-12-17;       800;          ;        20
      7499;ALLEN     ;SALESMAN ;      7698;1981-02-20;      1600;       300;        30
      7521;WARD      ;SALESMAN ;      7698;1981-02-22;      1250;       500;        30
      7566;JONES     ;MANAGER  ;      7839;1981-04-02;      2975;          ;        20
      7654;MARTIN    ;SALESMAN ;      7698;1981-09-28;      1250;      1400;        30
      7698;BLAKE     ;MANAGER  ;      7839;1981-05-01;      2850;          ;        30
      7782;CLARK     ;MANAGER  ;      7839;1981-06-09;      2450;          ;        10
      7788;SCOTT     ;ANALYST  ;      7566;1982-12-09;      3000;          ;        20
      7839;KING      ;PRESIDENT;          ;1981-11-17;     10000;          ;        10
      7844;TURNER    ;SALESMAN ;      7698;1981-09-08;      1500;         0;        30
      7876;ADAMS     ;CLERK    ;      7788;1983-01-12;      1100;          ;        20
      7900;JAMES     ;CLERK    ;      7698;1981-12-03;       950;          ;        30
      7902;FORD      ;ANALYST  ;      7566;1981-12-03;      3000;          ;        20
      7934;MILLER    ;CLERK    ;      7782;1982-01-23;      1300;          ;        10

14 rows selected.

SQL> spool off;
SQL> $emp.csv

从命令提示符处“运行”(或“执行”)EMP.CSV实际上将启动Excel并打开文件。

可以/应该修改

SET集,以使最终输出看起来更漂亮;我发布的实际上是一种快捷又脏的方法。