Spout
Thư viện PHP cho các tệp ODS, XLSX & CSV
Thư viện mã nguồn mở PHP để tạo, đọc và thao tác bảng tính từ Excel ® (XLSX, CSV) & OpenOffice ™ (ODS).
Spout là gì?
Spout là một thư viện PHP mã nguồn mở giúp các nhà phát triển phần mềm trong các tác vụ thao tác bảng tính như đọc và ghi các tệp ODS, XLSX & CSV. Với Spout, các nhà phát triển có thể tạo bảng tính từ đầu với kiểu ô, hàng & đường viền cũng như tải các tệp hiện có để chỉnh sửa.
Spout thân thiện với nhà phát triển vì nó cung cấp API đơn giản và tích hợp để đọc và tạo các loại bảng tính khác nhau. Nó cũng cho phép chuyển từ loại bảng tính này sang loại bảng tính khác với những thay đổi tối thiểu đối với mã. Nó có khả năng xử lý các tệp bảng tính nhỏ cũng như rất lớn trong khi vẫn giữ mức sử dụng bộ nhớ thực sự thấp. Nó chỉ yêu cầu 3MB bộ nhớ để xử lý bất kỳ tệp bảng tính nào.
Cách cài đặt thư viện Spout PHP
Spout cần có phiên bản PHP 7.1 trở lên. Khi điều kiện tiên quyết được đáp ứng, hãy cài đặt Spout từ Composer .
Cài đặt Spout từ Composer
$ composer require box/spout
Thư viện PHP để đọc và ghi ODS, XLSX & CSV
Spout cho phép các nhà phát triển phần mềm tạo các tệp bảng tính từ đầu ở 3 định dạng phổ biến. Trong khi đọc, Spout đoán loại trình đọc bảng tính dựa trên phần mở rộng tệp. Trong trường hợp tiện ích mở rộng không chuẩn, có thể tạo trực tiếp một trình đọc cụ thể.
Đọc ODS qua PHP
- Tạo trình đọc cho định dạng tệp ODS
- Chuyển đường dẫn tệp ODS đến phương thức tải để đọc nó
- Lặp lại các trang tính ODS thông qua getSheetIterator ()
- Lặp lại các hàng trang tính qua getRowIterator ()
- Nhận các ô của một hàng ODS để đọc hoặc ghi
Đọc ODS qua Spout - Thư viện PHP Excel
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
// do stuff with the row
$cells = $row->getCells();
...
}
}
$reader->close();
Thêm dữ liệu vào bảng tính hiện có thông qua PHP
Spout cung cấp cho nhà phát triển khả năng cập nhật bảng tính hiện có bằng cách thêm dữ liệu vào bảng tính đó. Việc thêm dữ liệu mới vào bảng tính hiện có là một thực tiễn rất phổ biến. API Spout không giữ toàn bộ biểu diễn bảng tính trong bộ nhớ để tránh các vấn đề về bộ nhớ khi làm việc với các bảng tính lớn. Để sửa đổi bảng tính, hãy tạo một phiên bản mới tương tự như phiên bản hiện có và thêm dữ liệu bắt buộc vào bảng tính mới.
Đọc dữ liệu từ một trang tính cụ thể
API Spout cho phép các nhà phát triển PHP truy cập và đọc dữ liệu từ một trang cụ thể bên trong bảng tính. Thông thường, một bảng tính chứa nhiều trang tính. Nếu người dùng muốn đọc dữ liệu chỉ từ một trang tính và bỏ qua các trang tính khác. Người dùng chỉ cần biết tên và vị trí của bảng tính.