Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Exportieren Sie Daten aus Oracle Table mit PL SQL nach Excel

Nachfolgend finden Sie ein Beispiel zum Exportieren von Daten aus einer Oracle-Tabelle nach Excel mit PL SQL. Sie können diese Aufgabe mit Hilfe des Pakets xlsx_builder_pkg erledigen , die Sie über den folgenden Link von GITHUB herunterladen können Klicke hier. Nachdem Sie das Paket heruntergeladen haben, extrahieren Sie die ZIP-Datei und suchen Sie das Paket unter diesem Pfad \alexandria-plsql-utils-master\ora\. Sie finden die beiden Dateien xlsx_builder_pkg.pks und xlsx_builder_pkg.pkb .

Die heruntergeladene ZIP-Datei enthält auch viele andere Dienstprogrammskripts, die Sie für Ihre Entwicklung verwenden können. Ich werde weitere Beispiele für diese Skripte in meinen anderen Beiträgen geben.

Installieren Sie diese beiden Skripte in Ihrem Datenbankschema und erstellen Sie ein Verzeichnisobjekt für Excel-xlsx-Dateien (falls noch nicht geschehen), wie im folgenden Beispiel gezeigt:

Oracle-Verzeichnisobjekt erstellen

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

Ihr Datenbankverzeichnis ist jetzt erstellt und Sie können jetzt eine Excel-Datei aus einer Oracle-Tabelle mit PL SQL erstellen. Unten ist das Beispiel:

Daten aus Oracle Table mit PL SQL nach Excel exportieren

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;

Das obige Beispiel exportiert alle Daten aus der emp-Tabelle in eine Excel-Datei mit einem Blatt namens emp. Beachten Sie, dass die Prozedur query2sheet zwei Parameter hat, einen p_sql für die Select-Anweisung und der zweite p_sheet ist die Blattnummer. Wie im Beispiel erstellen wir nur ein Blatt mit dem Namen emp, also übergeben wir 1 für den Parameter p_sheet. Sie können mehrere Blätter mit Daten erstellen. Siehe folgendes Beispiel:

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;

Dadurch werden die Daten aus der Emp-Tabelle in das Emp-Blatt und aus der Dept-Tabelle in das Dept-Blatt in einer Excel-Datei mit dem Namen emp.xlsx exportiert. Sie können dieses Paket mehr studieren und mehr Aufgaben ausführen. Ich werde auch weitere Beispiele daraus geben.