Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Xuất dữ liệu sang Excel từ bảng Oracle bằng PL SQL

Dưới đây là một ví dụ để xuất dữ liệu sang Excel từ bảng Oracle bằng cách sử dụng PL SQL. Bạn có thể thực hiện tác vụ này với sự trợ giúp của gói xlsx_builder_pkg , bạn có thể tải xuống từ GITHUB bằng liên kết sau bấm vào đây. Sau khi tải xuống gói, hãy giải nén tệp zip và định vị gói tại đường dẫn này \ alexandria-plsql-utils-master \ ora \. Bạn sẽ tìm thấy hai tệp xlsx_builder_pkg.pks xlsx_builder_pkg.pkb .

Có nhiều tập lệnh tiện ích khác cũng có trong tệp zip đã tải xuống mà bạn có thể sử dụng để phát triển. Tôi sẽ đưa ra nhiều ví dụ hơn về các tập lệnh đó trong các bài viết khác của tôi.

Cài đặt hai tập lệnh này vào lược đồ cơ sở dữ liệu của bạn và tạo một đối tượng thư mục cho các tệp Excel xlsx (nếu bạn chưa có) như được hiển thị trong ví dụ dưới đây:

Tạo đối tượng thư mục Oracle

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

Thư mục cơ sở dữ liệu của bạn hiện đã được tạo và bây giờ bạn có thể tạo tệp Excel từ bảng Oracle bằng cách sử dụng PL SQL. Dưới đây là ví dụ:

Xuất dữ liệu sang Excel từ Bảng Oracle bằng 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í dụ trên sẽ xuất tất cả dữ liệu từ bảng emp sang tệp Excel với một trang tính có tên là emp. Lưu ý, biểu tính query2 của thủ tục có hai tham số, một p_sql cho câu lệnh select và p_sheet thứ hai là số trang. Như trong ví dụ, chúng tôi đang tạo chỉ một trang tính với tên emp, vì vậy chúng tôi sẽ chuyển 1 cho tham số p_sheet. Bạn có thể tạo nhiều trang tính với dữ liệu. Xem ví dụ dưới đây:

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;

Thao tác này sẽ xuất dữ liệu từ bảng trống sang trang tính trống và từ bảng ghi nợ sang trang tính trong một tệp Excel có tên emp.xlsx. Bạn có thể nghiên cứu gói này nhiều hơn và có thể thực hiện nhiều nhiệm vụ hơn. Tôi cũng sẽ đưa ra nhiều ví dụ hơn từ nó.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00604 ORA-12705

  2. Hàm CHARTOROWID () trong Oracle

  3. Chương trình PL / SQL để xóa các bản ghi khỏi bảng

  4. Không thể tạo trường hợp lỗi nhà cung cấp OLE DB với tư cách là người dùng Xác thực Windows

  5. Oracle Joins (Sql Joins) là gì?