Oracle
 sql >> Base de données >  >> RDS >> Oracle

Exporter des données vers Excel à partir d'Oracle Table à l'aide de PL SQL

Un exemple est donné ci-dessous pour exporter des données vers Excel à partir d'une table Oracle à l'aide de PL SQL. Vous pouvez effectuer cette tâche à l'aide du paquet xlsx_builder_pkg , que vous pouvez télécharger depuis GITHUB en utilisant le lien suivant Cliquez ici. Après avoir téléchargé le package, extrayez le fichier zip et localisez le package à ce chemin \alexandria-plsql-utils-master\ora\. Vous trouverez les deux fichiers xlsx_builder_pkg.pks et xlsx_builder_pkg.pkb .

Il existe de nombreux autres scripts utilitaires également dans le fichier zip téléchargé, que vous pouvez utiliser pour votre développement. Je donnerai plus d'exemples de ces scripts dans mes autres articles.

Installez ces deux scripts dans votre schéma de base de données et créez un objet de répertoire pour les fichiers Excel xlsx (si vous n'en avez pas déjà) comme indiqué dans l'exemple ci-dessous :

Créer un objet d'annuaire Oracle

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

Votre répertoire de base de données est maintenant créé et vous pouvez maintenant créer un fichier Excel à partir d'une table Oracle à l'aide de PL SQL. Ci-dessous l'exemple :

Exporter des données vers Excel à partir d'Oracle Table à l'aide de 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;

L'exemple ci-dessus exportera toutes les données de la table emp vers un fichier Excel avec une feuille nommée emp. Remarque, la procédure query2sheet ayant deux paramètres un p_sql pour l'instruction select et le second p_sheet est le numéro de feuille. Comme dans l'exemple, nous créons une seule feuille avec le nom emp, nous allons donc passer 1 pour le paramètre p_sheet. Vous pouvez créer plusieurs feuilles avec des données. Voir l'exemple ci-dessous :

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;

Cela exportera les données de la table emp dans la feuille emp et de la table dept dans la feuille dept dans un fichier Excel nommé emp.xlsx. Vous pouvez étudier davantage ce package et effectuer davantage de tâches. Je vais également en donner d'autres exemples.