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

Export dat do Excelu z tabulky Oracle pomocí PL SQL

Níže je uveden příklad exportu dat do Excelu z tabulky Oracle pomocí PL SQL. Tento úkol můžete provést pomocí balíčku xlsx_builder_pkg , kterou si můžete stáhnout z GITHUB pomocí následujícího odkazu klikněte zde. Po stažení balíčku rozbalte soubor zip a vyhledejte balíček na této cestě \alexandria-plsql-utils-master\ora\. Najdete dva soubory xlsx_builder_pkg.pksxlsx_builder_pkg.pkb .

Ve staženém souboru zip je také mnoho dalších pomocných skriptů, které můžete použít pro svůj vývoj. Další příklady těchto skriptů uvedu ve svých dalších příspěvcích.

Nainstalujte tyto dva skripty do schématu databáze a vytvořte objekt adresáře pro soubory Excel xlsx (pokud jej ještě nemáte), jak je znázorněno v níže uvedeném příkladu:

Vytvořit objekt Oracle Directory Object

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

Váš adresář databáze je nyní vytvořen a nyní můžete vytvořit soubor Excel z tabulky Oracle pomocí PL SQL. Níže je příklad:

Export dat do Excelu z tabulky Oracle pomocí 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;

Výše uvedený příklad exportuje všechna data z tabulky emp do souboru Excel s jedním listem s názvem emp. Poznámka:procedura query2sheet má dva parametry jeden p_sql pro příkaz select a druhý p_sheet je číslo listu. Stejně jako v příkladu vytváříme pouze jeden list s názvem emp, takže pro parametr p_sheet předáme 1. Můžete vytvořit více listů s daty. Viz níže uvedený příklad:

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;

Tím se exportují data z tabulky emp do listu emp a z tabulky oddělení do listu oddělení v jednom souboru Excel s názvem emp.xlsx. Tento balíček můžete více studovat a můžete provádět více úkolů. Uvedu z něj také další příklady.

  1. Při dotazu došlo ke ztrátě připojení k serveru MySQL

  2. Postgres:Přidejte omezení, pokud ještě neexistuje

  3. MySQL v cloudu – Online migrace z Amazon RDS na EC2 Instance:Část první

  4. Hierarchická SQL otázka