trong trường hợp đó chúng ta nên sử dụng phương pháp được mô tả dưới đây. Trong PHP, chúng ta chỉ cần đặt thông tin tiêu đề để buộc trình duyệt khởi chạy cửa sổ tải xuống
Video hướng dẫn
Nếu bạn thấy thoải mái hơn khi xem video giải thích về Xuất dữ liệu sang Excel bằng PHP và MySQL, thì bạn nên xem video hướng dẫn này
Bạn cũng có thể xem hướng dẫn khác về Xuất dữ liệu bằng PHP,
- Xuất dữ liệu sang Excel bằng PHP và MySQL
- Xuất dữ liệu sang CSV và tải xuống bằng PHP và MySQL
- Nhập tệp CSV vào MySql bằng PHP
- Xuất dữ liệu bảng HTML sang Excel, CSV, PNG và PDF bằng Plugin jQuery
- Xuất dữ liệu jQuery Datatable sang PDF, Excel, CSV và Copy
Xuất dữ liệu MySQL sang Excel trong PHP
Vì Excel là định dạng tốt nhất để lưu trữ dữ liệu trong tệp nên xuất dữ liệu ở định dạng Excel là một công cụ rất quan trọng cho phép người dùng lưu dữ liệu để sử dụng ngoại tuyến. Bạn sẽ học cách sử dụng PHP và MySQL để xuất dữ liệu sang Excel
Vì vậy, cấu trúc tệp cho ví dụ này là như sau
- mục lục. php. Đây là tệp đầu vào
- sự liên quan. php. File này dùng để kết nối MySQL với PHP
- tạo_excel. php. Đây là tệp PHP chính sẽ có phương thức xuất để xuất dữ liệu sang excel
Tạo bảng cơ sở dữ liệu MySQL
Hãy tạo một bảng nhiệm vụ chứa tất cả các bản ghi nhiệm vụ sẽ xuất sau này ở định dạng excel
CREATE TABLE `tasks` [ `id` int[11] NOT NULL, `Name` varchar[255] NOT NULL, `Status` varchar[255] NOT NULL, `Priority` varchar[255] NOT NULL, `Date` date NOT NULL ] ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Indexes for table `tasks` -- ALTER TABLE `tasks` ADD PRIMARY KEY [`id`]; -- -- AUTO_INCREMENT for table `tasks` -- ALTER TABLE `tasks` MODIFY `id` int[11] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; COMMIT;
Bây giờ, tôi sẽ chèn một số dữ liệu mẫu vào bảng nhiệm vụ
INSERT INTO `tasks` [`id`, `Name`, `Status`, `Priority`, `Date`] VALUES [1, 'Task1', 'Completed', 'Low', '2021-09-01'], [2, 'Task2', 'InProgress', 'High', '2021-03-17'], [3, 'Mysql', 'Hold', 'Low', '2021-09-22'], [4, 'API', 'Pending', 'Low', '2021-09-06'];
Tạo kết nối MySQL với PHP
Chúng tôi sẽ tạo một tệp connection.php
và thêm mã bên dưới. trong tệp này, Chúng tôi sẽ chuyển tên máy chủ cơ sở dữ liệu, tên người dùng cơ sở dữ liệu, mật khẩu cơ sở dữ liệu và tên cơ sở dữ liệu
Lấy dữ liệu nhiệm vụ từ bảng cơ sở dữ liệu MySQL
Chúng tôi sẽ nhận các mục nhập từ các tác vụ của bảng cơ sở dữ liệu MySQL và đặt chúng vào một mảng để chúng tôi có thể hiển thị chúng và xuất chúng thành tệp excel. Đã thêm mã bên dưới vào đầu tệp generate_excel.php
include_once["connection.php"]; $db = new dbObj[]; $connString = $db->getConnstring[]; $sql_query = "SELECT * FROM tasks"; $resultset = mysqli_query[$connString, $sql_query] or die["database error:". mysqli_error[$conn]]; $tasks = array[]; while[ $rows = mysqli_fetch_assoc[$resultset] ] { $tasks[] = $rows; }
Xuất dữ liệu sang Excel
Tạo tính năng export bằng PHP và xuất dữ liệu ra excel. Chúng tôi cũng sẽ buộc trình duyệt tải xuống tệp thay vì hiển thị tệp. Chúng tôi sẽ thêm mã dưới đây vào tệp generate_excel.php
if[isset[$_POST["ExportType"]]] { switch[$_POST["ExportType"]] { case "export-to-excel" : // Submission from $filename = "phpflow_data_export_".date['Ymd'] . ".xls"; header["Content-Type: application/vnd.ms-excel"]; header["Content-Disposition: attachment; filename=\"$filename\""]; ExportFile[$tasks]; //$_POST["ExportType"] = ''; exit[]; default : die["Unknown action : ".$_POST["action"]]; break; } } function ExportFile[$records] { $heading = false; if[!empty[$records]] foreach[$records as $row] { if[!$heading] { // display field/column names as a first row echo implode["\t", array_keys[$row]] . "\n"; $heading = true; } echo implode["\t", array_values[$row]] . "\n"; } exit; }
mã hiển thị ở trên, Khối trường hợp chuyển đổi sẽ thực thi dựa trên giá trị tham số và phương thức được gọi.
Trình duyệt buộc phải tải xuống tệp excel.
Tạo HTML và hiển thị bản ghi bằng nút xuất
Xác định bố cục html để hiển thị dữ liệu trong bảng và nút để thực hiện hành động
INSERT INTO `tasks` [`id`, `Name`, `Status`, `Priority`, `Date`] VALUES [1, 'Task1', 'Completed', 'Low', '2021-09-01'], [2, 'Task2', 'InProgress', 'High', '2021-03-17'], [3, 'Mysql', 'Hold', 'Low', '2021-09-22'], [4, 'API', 'Pending', 'Low', '2021-09-06'];0. Đã thêm mã bên dưới vào tệp
INSERT INTO `tasks` [`id`, `Name`, `Status`, `Priority`, `Date`] VALUES [1, 'Task1', 'Completed', 'Low', '2021-09-01'], [2, 'Task2', 'InProgress', 'High', '2021-03-17'], [3, 'Mysql', 'Hold', 'Low', '2021-09-22'], [4, 'API', 'Pending', 'Low', '2021-09-06'];1
Simple Example of Export Excel file using PHP and MySQL phpflow.com : Demo of export to excel fileAction Toggle Dropdown
- Export to excel
- Other
Name Status Priority Date
Chúng tôi đã nhập 'generate_excel. php’ ở đầu mã, tệp này sẽ mang lại dữ liệu tác vụ để hiển thị trong bảng HTML. Chúng tôi đã thiết lập danh sách thả xuống với tùy chọn 'xuất sang excel'. Tất cả dữ liệu tác vụ sẽ được hiển thị trong bảng HTML