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.