Gần đây tôi đã xuất bản một bài báo Cách đọc tệp CSV và Excel trong PHP bằng PhpSpreadsheet. Một trong những độc giả đã hỏi cách sử dụng PhpSpreadsheet để xuất bản ghi cơ sở dữ liệu MySQL sang tệp Excel. Người dùng có thể cần dữ liệu MySQL của họ trong tệp Excel hoặc CSV để đọc hoặc chia sẻ dễ dàng. Trong bài viết này, chúng tôi đã thảo luận về cách một người có thể xuất dữ liệu từ cơ sở dữ liệu sang tệp Excel và CSV. Ngoài ra, chúng tôi cũng sẽ nghiên cứu cách người ta có thể gửi tệp đã xuất này dưới dạng tệp đính kèm trong email
Bắt đầu
Để bắt đầu, trước tiên bạn cần cài đặt thư viện PhpSpreadsheet. Tôi khuyên bạn nên sử dụng Composer để cài đặt thư viện. Mở terminal trong thư mục gốc dự án của bạn và chạy lệnh
composer require phpoffice/phpspreadsheet
PhpSpreadsheet là thư viện cung cấp hỗ trợ đọc và ghi các loại định dạng tệp khác nhau. Dưới đây là ảnh chụp màn hình của các định dạng tệp được hỗ trợ
Mục tiêu cuối cùng của chúng tôi là xuất các bản ghi bảng cơ sở dữ liệu sang tệp Excel/CSV. Đối với điều này, chúng tôi yêu cầu một vài mục trong cơ sở dữ liệu của chúng tôi. Ví dụ: tôi đang tạo bảng 'sản phẩm' bằng cách chạy truy vấn SQL bên dưới
CREATE TABLE `products` [ `id` int[11] NOT NULL AUTO_INCREMENT, `product_name` varchar[255] NOT NULL, `product_sku` varchar[255] NOT NULL, `product_price` varchar[255] NOT NULL, PRIMARY KEY [`id`] ] ENGINE=InnoDB DEFAULT CHARSET=latin1;
Tiếp theo, thêm một số mục nhập giả vào bảng để bạn sẽ thấy một vài bản ghi trong tệp đã xuất
INSERT INTO `products` [`product_name`, `product_sku`, `product_price`] VALUES ['Apple', 'app_111', '$1000'], ['Lenovo', 'len_222', '$999'], ['Samsung', 'sam_689', '$1200'], ['Acer', 'ace_620', '$900'];
Sau đó, tạo một tệp config.php
nơi chúng tôi viết mã để kết nối cơ sở dữ liệu
cấu hình. php