Hướng dẫn đọc nội dung file Excel bằng PHP
Hướng dẫn chi tiết cách đọc nội dung từ file Excel (.xlsx, .xls) bằng PHP, sử dụng thư viện PHPExcel và các bước cài đặt cũng như triển khai cụ thể.
Trong PHP, bạn có thể sử dụng thư viện PhpSpreadsheet để đọc nội dung từ các file Excel. Bài viết này sẽ hướng dẫn bạn cách cài đặt và sử dụng thư viện này để trích xuất dữ liệu từ file Excel.
<?php
// Bước 1: Cài đặt thư viện PHPExcel qua Composer
// Chạy lệnh sau trong terminal: composer require phpoffice/phpspreadsheet
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
$filePath = 'example.xlsx'; // Đường dẫn đến file Excel
// Bước 2: Load file Excel
$spreadsheet = IOFactory::load($filePath);
// Bước 3: Lấy dữ liệu từ sheet đầu tiên
$worksheet = $spreadsheet->getActiveSheet();
// Bước 4: Duyệt qua từng hàng và cột để lấy dữ liệu
foreach ($worksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // Lặp qua cả các ô trống
foreach ($cellIterator as $cell) {
echo $cell->getValue() . "\t"; // Hiển thị giá trị của ô, sử dụng "\t" để cách nhau bằng tab
}
echo "\n"; // Xuống hàng sau khi duyệt xong một hàng
}
?>
Giải thích chi tiết:
-
Cài đặt thư viện PHPExcel (hoặc PhpSpreadsheet): Để sử dụng mã này, bạn cần cài đặt thư viện
PhpSpreadsheet
, là phiên bản cập nhật của PHPExcel. Bạn có thể cài đặt nó qua Composer bằng lệnhcomposer require phpoffice/phpspreadsheet
. -
Load thư viện và file Excel: Sau khi cài đặt, bạn cần sử dụng
require 'vendor/autoload.php';
để tự động nạp các gói đã cài đặt. Tiếp đó,IOFactory::load($filePath);
sẽ giúp bạn tải nội dung của file Excel. -
Lấy dữ liệu từ sheet đầu tiên:
$spreadsheet->getActiveSheet();
lấy trang (sheet) đang hoạt động đầu tiên trong file Excel. -
Duyệt qua từng hàng và cột: Sử dụng
getRowIterator()
vàgetCellIterator()
để duyệt qua từng hàng và ô trong sheet.getValue()
sẽ lấy giá trị của mỗi ô và hiển thị nó.
Yêu cầu hệ thống:
Mã trên tương thích với PHP 7.1 trở lên cùng với PhpSpreadsheet 1.8 trở lên.
Lời khuyên:
- Kiểm tra phiên bản PHP: Đảm bảo rằng phiên bản PHP của bạn tương thích với PhpSpreadsheet.
- Sử dụng try-catch: Sử dụng khối
try-catch
để xử lý các lỗi khi đọc file Excel. - Thử nghiệm với các file Excel khác nhau: Thử nghiệm với các file Excel có cấu trúc khác nhau để hiểu rõ hơn về cách thư viện hoạt động.