Hướng dẫn export excel in php
Excel là một trong những công cụ nổi tiếng nhất của nhà Microsoft. Excel thường được dùng để trình bày trực quan thông tin theo dạng bảng biểu. Bằng cách sử dụng Excel, người nhìn sẽ dễ dàng theo dõi các loại dữ liệu hơn. Excel đóng vai trò rất quan trọng trong kinh doanh, nó giúp giải trình một cách rõ ràng nhất những con số tính toán phức tạp. Là một người thường xuyên làm việc cùng Excel, chắc hẳn bạn đã có không ít lần gặp phải trường hợp cần trích xuất hoặc lưu trữ dữ liệu Excel dưới nhiều dạng khác nhau. Vậy thì hãy sử dụng thư viện PHPExcel. Export Excel PHP là công cụ hữu ích giúp hỗ trợ các thao tác với file Excel. Show
Nội dung
Tổng quan về PHPExcelPHPExcel là một dạng thư viện nội dung, nhưng tất nhiên là bao gồm các dữ liệu Excel, hay thường được biết với tên gọi bảng biểu. PHPExcel cho phép người dùng tìm kiếm, truy xuất và lưu trữ dữ liệu trên Excel một cách dễ dàng. Trong quá khứ, người dùng cần tự lập trình PHP để có thể sử dụng. Tuy nhiên hiện tại đã có sẵn rất nhiều phiên bản PHPExcel, bạn chỉ cần chọn một version phù hợp với hệ điều hành của máy mình rồi tải xuống dùng trực tiếp là được. Để export Excel PHP thành công, bạn cần lưu ý rằng phiên bản PHP đó có phù hợp với hệ điều hành máy mình hay không. Để chắc chắn download được một version PHP chính xác, bạn chỉ cần đảm bảo phiên bản đó đáp ứng đủ các điều kiện sau: PHPExcel là gì?
Sau khi đã chắc chắn rằng phiên bản đáp ứng đủ các yêu cầu như trên thì bạn có thể yên tâm tải và và cài đặt. Một trong những nguồn download phổ biến nhất có thể kể đến Github. Phiên bản PHPExcel tại Github khá dễ dùng và phù hợp hầu hết với nhiều server khác nhau. Để tải PHPExcel trên Github, bạn hãy truy cập vào ĐÂY. Khi đã vào link thành công, bạn sẽ thấy góc trên bên phải màn hình có nút xanh Clone or Download. Hãy click vào và chọn Download zip. Khi đã tải thành công tệp zip, bạn cần giải nén ra và tiến hành cài đặt. Các thao tác liên quan đến export Excel PHPTrước khi export Excel PHP thì bạn cần thực hiện trước các thao tác liên quan như đọc, ghi, chuyển đổi… trong Excel PHP. Ghi dữ liệu vào file ExcelQuá trình này bao gồm một chuỗi các thao tác chuyển đổi dữ liệu thô thành định dạng excel. Tất nhiên là công cụ chính hỗ trợ chính là PHP. Khi đã tải xong xuôi và giải nén tệp zip của PHP rồi, bạn cần copy PHPExcel.php trong Classes vào thư mục gốc chứa ứng dụng web. Thao tác này nhằm định hướng đối tượng và yêu cầu PHP tập trung vào xử lý đối tượng đó. Sau đó, bạn cần thực hiện các bước như bản demo sau: Có rất nhiều thao tác Export Excel PHP require “Classes/PHPExcel.php”; $data = [ [‘Nguyễn Văn A’, ‘2000’, ‘5k’], [‘Phạm Văn B’, ‘2001’, ‘2k’], [‘Mai Thị C’, ‘1998’, ‘1’], [‘Đỗ Thị D’, ‘1999’, ‘0’] ]; //Khởi tạo đối tượng $excel = new PHPExcel(); //Chọn trang cần ghi (là số từ 0->n) $excel->setActiveSheetIndex(0); //Tạo tiêu đề cho trang. (có thể không cần) $excel->getActiveSheet()->setTitle(‘demo ghi dữ liệu’); //Xét chiều rộng cho từng, nếu muốn set height thì dùng setRowHeight() $excel->getActiveSheet()->getColumnDimension(‘A’)->setWidth(20); $excel->getActiveSheet()->getColumnDimension(‘B’)->setWidth(20); $excel->getActiveSheet()->getColumnDimension(‘C’)->setWidth(30); //Xét in đậm cho khoảng cột $excel->getActiveSheet()->getStyle(‘A1:C1’)->getFont()->setBold(true); //Tạo tiêu đề cho từng cột //Vị trí có dạng như sau: /** * |A1|B1|C1|..|n1| * |A2|B2|C2|..|n1| * |..|..|..|..|..| * |An|Bn|Cn|..|nn| */ $excel->getActiveSheet()->setCellValue(‘A1’, Họ và Tên); $excel->getActiveSheet()->setCellValue(‘B1’, ‘Năm sinh’); $excel->getActiveSheet()->setCellValue(‘C1’, ‘Số lần đi muộn’); // thực hiện thêm dữ liệu vào từng ô bằng vòng lặp // dòng bắt đầu = 2 $numRow = 2; foreach ($data as $row) { $excel->getActiveSheet()->setCellValue(‘A’ . $numRow, $row[0]); $excel->getActiveSheet()->setCellValue(‘B’ . $numRow, $row[1]); $excel->getActiveSheet()->setCellValue(‘C’ . $numRow, $row[2]); $numRow++; } // Khởi tạo đối tượng PHPExcel_IOFactory để thực hiện ghi file // ở đây mình lưu file dưới dạng excel2007 PHPExcel_IOFactory::createWriter($excel, ‘Excel2007’)->save(‘data.xlsx’); Nếu bạn muốn xuất kết quả ra cửa sổ download thì sửa phần cuối thành: header(‘Content-type: application/vnd.ms-excel’); header(‘Content-Disposition: attachment; filename=”data.xls”‘); PHPExcel_IOFactory::createWriter($excel, ‘Excel2007’)->save(‘php://output’); Và cuối cùng, kết quả chúng ta nhận được sẽ như sau:
Đọc dữ liệu từ file ExcelExport Excel PHP giúp xử lý dữ liệu nhanh chóng hơn Đọc dữ liệu là quá trình trích xuất thông tin có sẵn bên trong 1 file Excel rồi sử dụng dữ liệu này cho một mục đích nhất định. Với quá trình ghi dữ liệu ở phía trên, ta đã có file thông tin data.xlsx. Vậy chúng ta sẽ bắt đầu đọc thử file này bằng các bước sau: //Nhúng file PHPExcel require_once ‘Classes/PHPExcel.php’; //Đường dẫn file $file = ‘data.xlsx’; //Tiến hành xác thực file $objFile = PHPExcel_IOFactory::identify($file); $objData = PHPExcel_IOFactory::createReader($objFile); //Chỉ đọc dữ liệu $objData->setReadDataOnly(true); // Load dữ liệu sang dạng đối tượng $objPHPExcel = $objData->load($file); //Lấy ra số trang sử dụng phương thức getSheetCount(); // Lấy Ra tên trang sử dụng getSheetNames(); //Chọn trang cần truy xuất $sheet = $objPHPExcel->setActiveSheetIndex(0); //Lấy ra số dòng cuối cùng $Totalrow = $sheet->getHighestRow(); //Lấy ra tên cột cuối cùng $LastColumn = $sheet->getHighestColumn(); //Chuyển đổi tên cột đó về vị trí thứ, VD: C là 3,D là 4 $TotalCol = PHPExcel_Cell::columnIndexFromString($LastColumn); //Tạo mảng chứa dữ liệu $data = []; //Tiến hành lặp qua từng ô dữ liệu //—-Lặp dòng, Vì dòng đầu là tiêu đề cột nên chúng ta sẽ lặp giá trị từ dòng 2 for ($i = 2; $i <= $Totalrow; $i++) { //—-Lặp cột for ($j = 0; $j < $TotalCol; $j++) { // Tiến hành lấy giá trị của từng ô đổ vào mảng $data[$i – 2][$j] = $sheet->getCellByColumnAndRow($j, $i)->getValue();; } } //Hiển thị mảng dữ liệu echo ‘ ’;
Các bộ môn giảng dạy tại Teky gồm: Lập trình và phát triển ứng dụng, lập trình game, lập trình web với python Lập trình Scratch Robotics Engineering, Công nghệ 3D và MultiMedia. Chúng tôi tin rằng trẻ em Việt Nam có cơ hội phát triển mạnh mẽ trong một nền kinh tế số và cần được trang bị sẵn sàng để trở thành những doanh nhân công nghệ trong tương lai. Liên hệ ngay học viện công nghệ sáng tạo TEKY để được tư vấn khóa học:
Website https://teky.edu.vn | Email: | Xem thêm:
|