sql >> Database teknologi >  >> RDS >> Oracle

Eksporter data til Excel fra Oracle Table ved hjælp af PL SQL

Et eksempel er givet nedenfor for at eksportere data til Excel fra Oracle-tabellen ved hjælp af PL SQL. Du kan udføre denne opgave ved hjælp af xlsx_builder_pkg-pakken , som du kan downloade fra GITHUB ved at bruge følgende link Klik her. Efter at have downloadet pakken, udpak zip-filen og find pakken på denne sti \alexandria-plsql-utils-master\ora\. Du finder de to filer xlsx_builder_pkg.pks og xlsx_builder_pkg.pkb .

Der er også mange andre hjælpescripts i den downloadede zip-fil, som du kan bruge til din udvikling. Jeg vil give flere eksempler på disse scripts i mine andre indlæg.

Installer disse to scripts i dit databaseskema og opret et mappeobjekt til Excel xlsx-filer (hvis du ikke allerede har gjort det) som vist i nedenstående eksempel:

Opret Oracle Directory Object

Create OR Replace Directory excel_files as  'c:\excel_files';

Dit databasebibliotek er nu oprettet, og nu kan du oprette Excel-fil fra Oracle-tabellen ved hjælp af PL SQL. Nedenfor er eksemplet:

Eksportér data til Excel fra Oracle Table ved hjælp af PL SQL

BEGIN
xlsx_builder_Pkg.clear_workbook;
xlsx_builder_pkg.new_sheet ('emp');
xlsx_builder_pkg.query2sheet (p_sql => 'select * from emp', p_sheet => 1);
xlsx_builder_pkg.save ('EXCEL_FILES', 'emp.xlsx');
END;

Ovenstående eksempel vil eksportere alle data fra emp-tabel til Excel-fil med et ark med navnet emp. Bemærk, procedure query2sheet har to parametre, en p_sql for select-sætning, og den anden p_sheet er arknummeret. Som i eksemplet opretter vi kun ét ark med navn emp, så vi sender 1 til parameteren p_sheet. Du kan oprette flere ark med data. Se nedenstående eksempel:

BEGIN
xlsx_builder_Pkg.clear_workbook;
xlsx_builder_pkg.new_sheet ('emp');
xlsx_builder_pkg.query2sheet (p_sql => 'select * from emp', p_sheet => 1);
xlsx_builder_pkg.new_sheet ('dept');
xlsx_builder_pkg.query2sheet (p_sql => 'select deptno, dname from dept where deptno = 20',
 p_sheet => 2);
xlsx_builder_pkg.save ('EXCEL_FILES', 'emp.xlsx');
END;

Dette vil eksportere dataene fra emp-tabel til emp-ark og fra dept-tabel til dept-ark i én Excel-fil ved navn emp.xlsx. Du kan studere denne pakke mere og kan udføre flere opgaver. Jeg vil også give flere eksempler fra det.

  1. Lave beregninger i MySQL vs PHP

  2. Tillader Oracle muligheden for uforpligtende læsning?

  3. Hvad gør en SQL-sætning sargerbar?

  4. Flyt systemdatabaser i SQL Server Failover Cluster