Hướng dẫn excel php mysql

Đôi lúc làm việc với những dự án mà khách hàng thường lưu trữ dữ liệu trong file excel vì sự tiện lợi của nó, điều này đôi khi gây khó khăn cho coder vì việc đọc file excel không phải là đơn giản, nếu đọc được thì lại bị lỗi font chữ khi chuyển đổi dữ liệu sang file excel. Tuy nhiên hiện tại thì vấn đề đó không còn phức tạp nữa nếu ta sử dụng PHPExcel API để giải quyết. 

Hướng dẫn excel php mysql

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Đây là bài đầu tiên trong loạt bài hướng dẩn sử dụng PHPExcel nên tôi sẽ giới thiệu sơ lược và cuối cùng sẽ làm một ví dụ nhỏ đó là lưu dữ liệu từ mysql vào file excel để người dùng download về. Tuy nhiên để cho tiện lợi thì thay vì lấy dữ liệu từ CSDL thì tôi sẽ tạo một mảng để demo nên rất mong các bạn thông cảm.

1. Điều kiện sử dụng PHPExcel

Để sử dụng được bộ thư viện viết bằng php này thì đòi hỏi cấu hình Server bạn phải như sau:

  • PHP version 5.2.0 hoặc mới hơn
  • PHP extension php_zip enabled [^phpzip_footnote]
  • PHP extension php_xml enabled
  • PHP extension php_gd2 enabled (if not compiled in)

2. Cấu hình sử dụng PHPExcel

Trước khi sử dụng nó bạn phải download bộ thư viện từ trang chủ PHPExcel. Trong bộ thư viện này có rất nhiều file, nhưng file chủ yếu đóng vai trò khởi động toàn bộ thư viện đó là file PHPExcel.php, nên để sử dụng được thì bạn chỉ cần require file PHPExcel.php.

Bài viết này được đăng tại [free tuts .net]

Cách đơn giản nhất để học bộ thư viện này là bạn đọc phần ví dụ của nó, thực tế bạn có thể đọc mà không cần xem tuts của tôi, nhưng nếu tiếng anh bạn không rành và khả năng debug của bạn không tốt thì có thể tham khảo serie này để dễ dàng nắm bắt hơn.

3. Lấy dữ liệu từ mysql lưu vào file excel với PHPExcel

Note: Như phần đầu tôi có trình bày, vì tôi không muốn rườm rà nên tôi sẽ sử dụng mảng coi như là dữ liệu từ mysql.

Tổng cộng chúng ta có 9 bước để thực hiện, vì sự rườm rà của code nên tôi sẽ comment trong file demo luôn nên các bạn vui lòng đọc phần comment nhé. Bây giờ bạn tạo file download.php và copy nội dung này vào:

setActiveSheetIndex(0);

// Bước 5: Tạo tiêu đề cho sheet hiện tại
$PHPExcel->getActiveSheet()->setTitle('Email List');

// Bước 6: Tạo tiêu đề cho từng cell excel, 
// Các cell của từng row bắt đầu từ A1 B1 C1 ...
$PHPExcel->getActiveSheet()->setCellValue('A1', 'STT');
$PHPExcel->getActiveSheet()->setCellValue('B1', 'Email');
$PHPExcel->getActiveSheet()->setCellValue('C1', 'Fullname');

// Bước 7: Lặp data và gán vào file
// Vì row đầu tiên là tiêu đề rồi nên những row tiếp theo bắt đầu từ 2
$rowNumber = 2;
foreach ($data as $index => $item) 
{
    // A1, A2, A3, ...
    $PHPExcel->getActiveSheet()->setCellValue('A' . $rowNumber, ($index + 1));
    
    // B1, B2, B3, ...
    $PHPExcel->getActiveSheet()->setCellValue('B' . $rowNumber, $item[0]);

    // C1, C2, C3, ...
    $PHPExcel->getActiveSheet()->setCellValue('C' . $rowNumber, $item[1]);
    
    // Tăng row lên để khỏi bị lưu đè
    $rowNumber++;
}

// Bước 8: Khởi tạo đối tượng Writer
$objWriter = PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel5');

// Bước 9: Trả file về cho client download
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="bai-01-demo-excel-freetuts.net.xls"');
header('Cache-Control: max-age=0');
if (isset($objWriter)) {
    $objWriter->save('php://output');
}

Chạy file này lên thì bạn sẽ nhận một file excel với dữ liệu trong mysql như ở bước 1. 

4. Lời kết

Bài này có hạn chế là vì tôi lười lấy dữ liệu từ mysql để gắn vào file excel nên tôi sử dụng mảng để thay thế, tuy nhiên tôi nghĩ nếu bạn đang đọc bài này thì điều này đơn giản đối với bạn.

PHP + Excel Bài 3/6: Insert nhiều sheet file Excel vào database MySQL

Hướng dẫn excel php mysql

Hướng dẫn sử dụng thự viện PHPExcel để đọc/xuất file Excel.
Và các thao tác xử lí trên file file Excel với PHP.

Link download source: https://khoapham.vn/download/php/phpexcel.rar



Các video

Thông tin giảng viên

Hướng dẫn excel php mysql

Bình Luận

  • Hướng dẫn excel php mysql

    Dentitox Pro is a brand-new dietary supplement based on natural components and nutrients. It works by addressing the root cause of gum disease and tooth infections to strengthen teeth and gums. But just how effective is this supplement?


    Read More About This Topic - Dentitox Pro Reviews
     

  • Hướng dẫn excel php mysql

    https://exipurereview.home.blog/2021/12/10/exipure-reviews-is-it-worth-the-money-customers-know-this/

    http://furrybeings.com/rosebear-reviews/
     

  • «
  • 1
  • 2
  • 3
  • »

(Bạn vui lòng đăng nhập để thêm bình luận)

Khóa học tương tự