2011-04-28 84 views
1

我想从Excel格式的SQL查询中获得结果。SQL-如何将数据从sql查询输出为excel格式

例如:

SQL> clear breaks 
breaks cleared 
SQL> clear columns 
columns cleared 
SQL> clear compute 
computes cleared 
SQL> set pagesize 1000 
SQL> set NEWPAGE 1 
SQL> set linesize 100 
SQL> column id format a15 
SQL> column tarikh format a14 
SQL> column jenis_pengguna format a15 
SQL> Ttitle center 'ANALISIS PENGGUNAAN PORTAL BULAN APRIL 2011' skip 1 - center----------------------------------------------------------------------------skip3 
SQL> set linesize 100 
SQL> break on id skip 2 on tarikh 
SQL> compute count of tarikh on id 
SQL> SELECT id, tarikh, jenis_pengguna 
     FROM PENGGUNAAN 
     WHERE tarikh >= (sysdate)-30 
    GROUP BY (id, tarikh, jenis_pengguna); 

现在,我将如何得到那个Excel中可以使用或进口的结果?

+0

你必须使用一种编程语言来为你做。你对任何感觉舒服吗?也许PHP/Java/Python/Perl? – user183037 2011-04-28 02:03:43

+3

你能详细说明你需要什么吗? CSV格式是可以接受的,因为Excel可以打开它,或者你需要一个完整的Excel文件类型? – 2011-04-28 02:13:20

+0

您可以使用TOAD等产品,执行查询右键单击并将结果导出到Excel。 – 2011-04-28 02:15:40

回答

7

您可以生成的一种Excel格式是逗号分隔值或CSV。只要做到这一点与您的选择:

set feedback off 
set linesize 100 
set pagesize 0 
spool yourfile.csv 

SELECT id||','||tarikh||','||jenis_pengguna 
    FROM penggunaan 
WHERE tarikh >= (sysdate)-30 
GROUP BY (id, tarikh, jenis_pengguna); 

您可能需要调整一些其他的设置,以获得一个干净的纯数据输出,但是这应该让你去。然后您可以使用Excel读取文件。