Làm cách nào để xuất bảng dữ liệu MySQL dưới dạng Excel trong php?

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

Chủ Đề