sql >> Database >  >> RDS >> Oracle

Gegevens exporteren naar Excel vanuit Oracle Table met behulp van PL SQL

Hieronder wordt een voorbeeld gegeven om gegevens vanuit de Oracle-tabel naar Excel te exporteren met behulp van PL SQL. U kunt deze taak uitvoeren met behulp van het xlsx_builder_pkg pakket , die u kunt downloaden van GITHUB via de volgende link Klik hier. Pak na het downloaden van het pakket het zipbestand uit en zoek het pakket op dit pad \alexandria-plsql-utils-master\ora\. U vindt de twee bestanden xlsx_builder_pkg.pks en xlsx_builder_pkg.pkb .

Er zijn ook veel andere hulpprogramma-scripts in het gedownloade zip-bestand, die u kunt gebruiken voor uw ontwikkeling. Ik zal meer voorbeelden van die scripts geven in mijn andere berichten.

Installeer deze twee scripts in uw databaseschema en maak een directory-object voor Excel xlsx-bestanden (als u die nog niet heeft) zoals in onderstaand voorbeeld:

Maak Oracle Directory Object

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

Uw databasedirectory is nu gemaakt en u kunt nu een Excel-bestand maken van de Oracle-tabel met behulp van PL SQL. Hieronder is het voorbeeld:

Gegevens exporteren naar Excel vanuit Oracle Table met behulp van 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;

In het bovenstaande voorbeeld worden alle gegevens van de werktijdtabel naar het Excel-bestand geëxporteerd met één blad met de naam emp. Let op, procedure query2sheet met twee parameters:een p_sql voor de select-instructie en de tweede p_sheet is het bladnummer. Net als in het voorbeeld maken we slechts één blad met de naam emp, dus we geven 1 door voor de parameter p_sheet. U kunt meerdere werkbladen met gegevens maken. Zie het onderstaande voorbeeld:

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;

Hiermee exporteert u de gegevens van de werktijdtabel naar het werkblad en van de afdtabel naar het afdblad in één Excel-bestand met de naam emp.xlsx. Je kunt dit pakket meer bestuderen en meer taken uitvoeren. Ik zal er ook meer voorbeelden van geven.

  1. Rijdoelen, deel 3:Anti-joins

  2. COSH() Functie in Oracle

  3. Hoe een unieke beperking op meerdere kolommen in SQL Server te creëren - SQL Server / TSQL-zelfstudie deel 96

  4. Verwijzend naar sessievariabelen (\set var='value') uit PL/PGSQL