sql >> Databáze >  >> RDS >> Oracle

Vytvořte tabulku Excelu z databáze Oracle

Předpokládám, že problém je v tom, jak složitá je vaše „složitá struktura“?

Programovací IDE, jako je Oracle SQL Developer nebo Quest TOAD, mají průvodce pro export datové tabulky do souborů CSV.

Pokud chcete spojit data z více tabulek, můžete použít pohled nebo dokonce napsat příkaz SQL

select e.ename||','||d.dname
from   emp e
       join dept d on ( e.deptno = d.deptno )
/

(Pamatujte si, že sloupce mohou často obsahovat data, která obsahují čárky, takže možná budete chtít použít jako oddělovač neobvyklejší znak – nebo sadu znaků.)

Dalším rychlým způsobem, jak něco udělat, je použít funkci hlášení HTML SQL*Plus. Mnoho tabulkových procesorů dokáže importovat dobře strukturované HTML a XML bez útržku. Zjistěte více.

Pokud chcete zploštit hierarchickou strukturu nebo něco ještě spletitějšího, budete pravděpodobně muset přejít na PL/SQL. Ruční přístup by používal variantu výše uvedeného příkazu přizpůsobenou použití UTL_FILE:

declare
    csv_fh  utl_file.filetype;
begin
    csv_fh := utl_file.fopen('C:\temp', 'data_export.csv', 'W');
    for r in   (  select e.ename, d.dname
                  from   emp e
                  join dept d on ( e.deptno = d.deptno )
                ) loop
        utl_file.put_line(csv_fh, r.ename||'|'||r.dname;
    end loop;
    utl_file.fclose(csv_fh);
end;

Pokud chcete exportovat konkrétně do Excelu (tj. soubor .XLS), budete muset jít nad rámec vestavěných funkcí Oracle. Obvyklým řešením pro export přímo z PL/SQL do Excelu je obal OWA_SYLK od Toma Kytea pro SYLK api. Zjistěte více.

To funguje s jednotlivými pracovními listy. Pokud chcete exportovat do více listů, existuje několik alternativních řešení.

Sanjeev Sapre má svůj balíček get_xl_xml. Jak název napovídá, k provedení transformace používá XML. Zjistit více.

Jason Bennett napsal objekt PL/SQL, který generuje dokument Excel XML. Zjistěte více.



  1. Jak vrátit duplicitní klíče z dokumentu JSON na SQL Server

  2. Způsoby obnovení dat ze souboru protokolu transakcí serveru SQL Server

  3. Hierarchická SQL otázka

  4. Vložit všechna data datagridview do databáze najednou