Share Tạo báo cáo Excel với thư viện PHPExcel

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
Khi các bạn phát triển các dự án thương mại điện tử thì vấn đề xuất các báo cáo, thống kê dưới dạng tập tin Excel là cần thiết. Để làm việc với Excel các bạn có nhiều lựa chọn như sử dụng một thư viện hỗ trợ các nghiệp vụ liên quan tới Excel hay tự lập trình thư viện để xuất ra các báo cáo Excel. Việc lập trình thư viện để làm việc với Excel tương đối phức tạp và mất nhiều thời gian. Hiện tại, có nhiều thư viện giúp tương tác với Excel rất tốt và một trong số đó là PHPExcel. Mặc dù PHPExcel cho tới thời điểm tôi viết bài hướng dẫn này đã dừng phát triển nhưng những gì mà thư viện PHPExcel cung cấp vẫn còn đáp ứng rất tốt nhu cầu của các bạn khi muốn làm việc với Excel.

Thư viện PHPExcel hỗ trợ nhiều định dạng mà các bạn thường sử dụng.

Các định dạng cho phép nhập:
  • Excel 2007 (SpreadsheetML).
  • BIFF5 (Excel 5.0 / Excel 95).
  • BIFF8 (Excel 97 and later).
  • PHPExcel Serialized Spreadsheet.
  • Symbolic Link (SYLK by Microsoft).
  • CSV (Comma Separated Values).
Các định dạng cho phép xuất:
  • Excel 2007 (SpreadsheetML).
  • BIFF8 (Excel 97 and later).
  • PHPExcel Serialized Spreadsheet.
  • PDF.
  • HTML.
  • CSV (Comma Separated Values).
Thư viện PHPExcel yêu cầu PHP phiên bản 5.2+ và các phần mở rộng php_zip, php_xml và php_gd2.

Các bạn tải thư viện PHPExcel tại địa chỉ https://github.com/PHPOffice/PHPExcel.

Các bạn giải nén gói thư viện sẽ có một thư mục tên "Classes", đây là thư mục chứa toàn bộ thư viện PHPExcel.

Việc sử dụng thư viện PHPExcel rất đơn giản. Các bạn tham khảo nội dung mã lệnh sau đây:
PHP:
<?php
//Require thư viện PHPExcel
require 'path/to/PHPExcel.php';
require 'path/to/PHPExcel/IOFactory.php';

//Khởi tạo đối tượng PHPExcel
$PHPExcel = new PHPExcel();

//Khai báo tiêu đề tập tin Excel
$PHPExcel->getProperties()->setTitle('Tạo báo cáo Excel với thư viện PHPExcel');

//Khai báo bảng tính hoạt động và gán nội dung vào ô A1
$PHPExcel->setActiveSheetIndex(0)
         ->setCellValue('A1', 'Nội dung');

//Khởi tạo đối tượng writer
$writer = PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel2007');

//Lưu tập tin Excel
$writer->save('path/to/save/filename.xlsx');
Như tôi đã lưu ý, thư viện PHPExcel hiện tại không còn được phát triển nữa, thay vào đó nhà phát triển cung cấp một bộ thư viện tương tự tên là PhpSpreadsheet. Các bạn có thể tham khảo thêm thư viện PhpSpreadsheet tại địa chỉ https://github.com/PHPOffice/PhpSpreadsheethttps://phpspreadsheet.readthedocs.io.
 
Back
Top