Dữ liệu là bất kỳ tập hợp ký tự nào được dịch cho mục đích nào đó, chẳng hạn như để phân tích. Nó có thể là bất kỳ ký tự hoặc giá trị nào, bao gồm văn bản và số, hình ảnh, âm thanh hoặc video. Nếu dữ liệu không được đưa vào ngữ cảnh thì nó sẽ không làm gì được con người hay máy móc
Chúng tôi thường xuất dữ liệu từ các trang web để lưu dữ liệu trên máy tính để sử dụng ngoại tuyến như duy trì dữ liệu danh sách và phân tích dữ liệu đó. Excel là định dạng tốt nhất để Xuất dữ liệu trong một tệp vì việc đọc các tệp lớn trong Excel dễ dàng hơn nhiều đối với người dùng. Ngoài ra, bạn có thể sử dụng các chức năng bổ sung như chọn các ô riêng lẻ để nhập dữ liệu, tự động chuyển đổi ngày và giờ, bộ lọc, sắp xếp, đọc công thức và kết quả của chúng, v.v.
Trong blog này, chúng ta sẽ tìm hiểu cách xuất dữ liệu PHP sang. tập tin xls từng bước. Với sự trợ giúp của tập lệnh PHP đơn giản, bạn có thể xuất dữ liệu sang Excel và tải xuống dưới dạng. tập tin xls
BƯỚC 1. Tạo Array để lưu trữ dữ liệu
Tôi đã tạo một mảng [$customers_data] để lưu trữ thông tin chi tiết về khách hàng. Bạn có thể tạo mảng của riêng mình theo yêu cầu của bạn
$customers_data = array[ array[ 'customers_id' => '1', 'customers_firstname' => 'Chris', 'customers_lastname' => 'Cavagin', 'customers_email' => 'chriscavagin@gmail.com', 'customers_telephone' => '9911223388' ], array[ 'customers_id' => '2', 'customers_firstname' => 'Richard', 'customers_lastname' => 'Simmons', 'customers_email' => 'rsimmons@media.com', 'customers_telephone' => '9911224455' ], array[ 'customers_id' => '3', 'customers_firstname' => 'Steve', 'customers_lastname' => 'Beaven', 'customers_email' => 'ateavebeaven@gmail.com', 'customers_telephone' => '8855223388' ], array[ 'customers_id' => '4', 'customers_firstname' => 'Howard', 'customers_lastname' => 'Rawson', 'customers_email' => 'howardraw@gmail.com', 'customers_telephone' => '9911334488' ], array[ 'customers_id' => '5', 'customers_firstname' => 'Rachel', 'customers_lastname' => 'Dyson', 'customers_email' => 'racheldyson@gmail.com', 'customers_telephone' => '9912345388' ] ];
BƯỚC 2. Tạo hàm lọc dữ liệu
Hàm này được sử dụng để phát hiện dấu ngoặc kép và thoát khỏi bất kỳ giá trị nào chứa chúng. Nếu không có điều này, số lượng trích dẫn không đồng đều trong một chuỗi có thể gây nhầm lẫn cho Excel
// Filter Customer Data function filterCustomerData[&$str] { $str = preg_replace["/\t/", "\\t", $str]; $str = preg_replace["/\r?\n/", "\\n", $str]; if[strstr[$str, '"']] $str = '"' . str_replace['"', '""', $str] . '"'; }
BƯỚC 3. Xác định tên tệp và tiêu đề nội dung để tải xuống
Biến $file_name dùng để giữ tên của tệp và cũng xác định tiêu đề nội dung để tải xuống
// File Name & Content Header For Download $file_name = "customers_data.xls"; header["Content-Disposition: attachment; filename=\"$file_name\""]; header["Content-Type: application/vnd.ms-excel"];
BƯỚC 4. Xác định Vòng lặp qua từng hàng trong $customers_data
//To define column name in first row. $column_names = false; // run loop through each row in $customers_data foreach[$customers_data as $row] { if[!$column_names] { echo implode["\t", array_keys[$row]] . "\n"; $column_names = true; } // The array_walk[] function runs each array element in a user-defined function. array_walk[$row, 'filterCustomerData']; echo implode["\t", array_values[$row]] . "\n"; } exit;
1. Xác định một biến $column_names được sử dụng để in tên cột trong hàng đầu tiên của excel.
2. Chạy một vòng lặp qua từng hàng và sử dụng hàm array_walk[] để chạy từng hàng trong một hàm do người dùng xác định.
BƯỚC 5. Chạy tập lệnh trong môi trường của bạn
Nếu mọi việc suôn sẻ thì tên tệp sẽ được đặt tên là “customs_data. xls” được tải xuống và lưu trong máy tính của bạn. Bạn có thể mở tệp này trong Excel trông giống như sau
Nhấn vào đây để tải mã hoàn chỉnh
Bạn có thể liên hệ với chúng tôi tại support@knowband. com cho bất kỳ truy vấn. Chúng tôi cũng cung cấp tất cả các loại tùy chỉnh cần thiết trên cửa hàng Thương mại điện tử trực tuyến. Bạn cũng có thể tìm thấy các mô-đun tốt nhất của Prestashop, Opencart, Magento và Magento 2 tại Knowband
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
// Filter Customer Data function filterCustomerData[&$str] { $str = preg_replace["/\t/", "\\t", $str]; $str = preg_replace["/\r?\n/", "\\n", $str]; if[strstr[$str, '"']] $str = '"' . str_replace['"', '""', $str] . '"'; }2 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
// Filter Customer Data function filterCustomerData[&$str] { $str = preg_replace["/\t/", "\\t", $str]; $str = preg_replace["/\r?\n/", "\\n", $str]; if[strstr[$str, '"']] $str = '"' . str_replace['"', '""', $str] . '"'; }3
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
// Filter Customer Data function filterCustomerData[&$str] { $str = preg_replace["/\t/", "\\t", $str]; $str = preg_replace["/\r?\n/", "\\n", $str]; if[strstr[$str, '"']] $str = '"' . str_replace['"', '""', $str] . '"'; }3________số 8
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
// Filter Customer Data function filterCustomerData[&$str] { $str = preg_replace["/\t/", "\\t", $str]; $str = preg_replace["/\r?\n/", "\\n", $str]; if[strstr[$str, '"']] $str = '"' . str_replace['"', '""', $str] . '"'; }1
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