Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Utwórz arkusz kalkulacyjny Excel z bazy danych Oracle

Przypuszczam, że problem polega na tym, jak złożona jest Twoja „złożona struktura”?

Programistyczne IDE, takie jak Oracle SQL Developer lub Quest TOAD, mają kreatory do eksportowania tabeli danych do plików CSV.

Jeśli chcesz połączyć dane z wielu tabel, możesz użyć widoku, a nawet napisać instrukcję SQL

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

(pamiętając, że kolumny mogą często zawierać dane zawierające przecinki, więc możesz użyć bardziej nietypowego znaku - lub zestawu znaków - jako separatora).

Innym szybkim sposobem na zrobienie czegoś jest użycie funkcji raportowania HTML SQL*Plus. Wiele narzędzi do arkuszy kalkulacyjnych może bez problemu importować dobrze ustrukturyzowany kod HTML i XML. Dowiedz się więcej.

Jeśli chcesz spłaszczyć strukturę hierarchiczną lub coś jeszcze bardziej zawiłego, prawdopodobnie będziesz musiał przejść do PL/SQL. W podejściu ręcznym wykorzystano by wariant powyższego stwierdzenia dostosowany do użycia 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;

Jeśli chcesz wyeksportować konkretnie do Excela (tj. Plik .XLS), musisz wyjść poza wbudowane rozwiązania Oracle. Typowym rozwiązaniem do eksportowania bezpośrednio z PL/SQL do Excela jest opakowanie OWA_SYLK Toma Kyte'a dla interfejsu API SYLK. Dowiedz się więcej.

Działa to z pojedynczymi arkuszami. Jeśli chcesz wyeksportować do wielu arkuszy roboczych, istnieje kilka alternatywnych rozwiązań.

Sanjeev Sapre ma swój pakiet get_xl_xml. Jak sama nazwa wskazuje, do przeprowadzenia transformacji używa XML. Dowiedz się więcej.

Jason Bennett napisał obiekt PL/SQL, który generuje dokument Excel XML. Dowiedz się więcej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Formatowanie DATE w Oracle

  2. Dowiedz się, jak wykonać procedurę w Toad For Oracle

  3. Domyślny format daty Oracle to RRRR-MM-DD, DLACZEGO?

  4. Jak mogę ograniczyć liczbę wierszy zwracanych przez zapytanie Oracle po złożeniu zamówienia?

  5. Funkcja dzielenia w Oracle na wartości oddzielone przecinkami z automatyczną sekwencją