Oracle
 sql >> Database >  >> RDS >> Oracle

Esporta i dati in Excel da Oracle Table utilizzando PL SQL

Di seguito viene fornito un esempio per esportare i dati in Excel dalla tabella Oracle utilizzando PL SQL. Puoi svolgere questa attività con l'aiuto del pacchetto xlsx_builder_pkg , che puoi scaricare da GITHUB utilizzando il seguente link clicca qui. Dopo aver scaricato il pacchetto, estrarre il file zip e individuare il pacchetto in questo percorso \alexandria-plsql-utils-master\ora\. Troverai i due file xlsx_builder_pkg.pksxlsx_builder_pkg.pkb .

Ci sono molti altri script di utilità anche nel file zip scaricato, che puoi utilizzare per il tuo sviluppo. Darò più esempi di quegli script nei miei altri post.

Installa questi due script nello schema del tuo database e crea un oggetto directory per i file xlsx di Excel (se non lo hai già fatto) come mostrato nell'esempio seguente:

Crea oggetto directory Oracle

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

La directory del database è ora creata e ora puoi creare file Excel dalla tabella Oracle utilizzando PL SQL. Di seguito è riportato l'esempio:

Esportare i dati in Excel da Oracle Table utilizzando 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'esempio sopra esporterà tutti i dati dalla tabella emp al file Excel con un foglio chiamato emp. Nota, la procedura query2sheet ha due parametri uno p_sql per l'istruzione select e il secondo p_sheet è il numero del foglio. Come nell'esempio, stiamo creando un solo foglio con il nome emp, quindi passeremo 1 per il parametro p_sheet. È possibile creare più fogli con i dati. Vedi l'esempio seguente:

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;

Questo esporterà i dati dalla tabella emp nel foglio emp e dalla tabella reparto nel foglio reparto in un file Excel chiamato emp.xlsx. Puoi studiare di più questo pacchetto ed eseguire più attività. Ne fornirò anche altri esempi.