如何从 oracle sql 导出结果到 excel? [复制]
Posted
技术标签:
【中文标题】如何从 oracle sql 导出结果到 excel? [复制]【英文标题】:How to export result to excel from oracle sql? [duplicate] 【发布时间】:2018-07-11 09:38:35 【问题描述】:假设我有一些选定的表格结果。我想将其导出为 excel 文件。使用 SQLdeveloper 可以轻松完成。但我想知道在查询级别有没有办法做到这一点。
假设我的桌子是MYTABLE
然后选择的结果集是
select * from MYTABLE
我想从上面的选择语句中生成一个 excel 表。
【问题讨论】:
【参考方案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
set 可以/应该修改,使最终输出看起来更漂亮;我发布的那个确实是一种快速而肮脏的方法。
【讨论】:
以上是关于如何从 oracle sql 导出结果到 excel? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何将 SQL 结果生成到 Excel 工作表 (Oracle)