Lớp này hữu ích cho kích thước tệp excel vừa và nhỏ [vài MB], vì nó đọc toàn bộ bảng tính cùng một lúc và nếu bạn có một bảng tính lớn, bộ nhớ sẽ cạn kiệt. Trong trường hợp này, tốt hơn là chuyển đổi dữ liệu excel sang định dạng CSV, sau đó sử dụng nó trong PHP
Lớp PhpExcelReader lưu trữ dữ liệu tệp excel thành một mảng nhiều chiều, trong thuộc tính $sheets, được truy cập bằng.$objectClass->sheets- $objectClass là thể hiện đối tượng của lớp
Ví dụ như bảng excel này
Để đọc tệp excel này bằng lớp PhpExcelReader, hãy sử dụng mã này
____1'; .array [ 0 => array [ 'maxrow' => 0, 'maxcol' => 0, 'numRows' => 8, 'numCols' => 4, 'cells' => array [ 2 => array [ 2 => 'Web sites data' ], 4 => array [ 1 => 'Title', 2 => 'Url', 3 => 'Visitors', 4 => 'Accesses' ], 5 => array [ 1 => 'Web Programming Courses', 2 => '//coursesweb.net/', 3 => '5000', 4 => '9800' ], 6 => array [ 1 => 'Courses Games and Anime', 2 => '//marplo.net/', 3 => '6000', 4 => '22000' ], 7 => array [ 1 => 'PHP: Hypertext Processor', 2 => '//php.net/', 3 => '30000', 4 => '92000' ], 8 => array [ 1 => 'Yahoo!', 2 => '//yahoo.com/', 3 => '100000', 4 => '650000' ], ], 'cellsInfo' => array [ 5 => array [ 3 => array [ 'raw' => 5000, 'type' => 'unknown' ], 4 => array [ 'raw' => 9800, 'type' => 'unknown' ], ], 6 => array [ 3 => array [ 'raw' => 6000, 'type' => 'unknown' ], 4 => array [ 'raw' => 22000, 'type' => 'unknown' ], ], 7 => array [ 3 => array [ 'raw' => 30000, 'type' => 'unknown' ], 4 => array [ 'raw' => 92000, 'type' => 'unknown' ], ], 8 => array [ 3 => array [ 'raw' => 100000, 'type' => 'unknown' ], 4 => array [ 'raw' => 650000, 'type' => 'unknown' ], ], 2 => array [ 2 => array [ 'colspan' => 3 ], ], ], ] ]- $excel->sheets[0]['numRows'] chứa số hàng có dữ liệu trong trang tính đầu tiên.
- $excel->sheets[0]['numCols'] chứa số cột có dữ liệu trong sheet đầu tiên.
- $excel->sheets[0] chứa mảng nhiều chiều với dữ liệu của sheet đầu tiên trong file excel. Dữ liệu được lưu trữ trong 'ô' và siêu dữ liệu được lưu trữ trong một mảng có tên là 'cellsInfo'.
$sheets[index] --> 'cells' --> row --> column --> Interpreted value --> 'cellsInfo' --> row --> column --> 'type' [Can be 'date', 'number', or 'unknown'] --> 'raw' [The raw data that Excel stores for that data cell]
- $objectClass->boundsheets[index_sheet]['name'] chứa tên của trang tính excel có thứ tự chỉ mục là "index_sheet".
Bạn có thể duyệt qua mảng $objectClass->sheets để thêm dữ liệu vào bảng HTML
- Dưới đây là ví dụ tạo và xuất bảng HTML với dữ liệu excel từ mỗi sheet
read['test.xls']; // this function creates and returns a HTML table with excel rows and columns data // Parameter - array with excel worksheet data function sheetData[$sheet] { $re = ''; // starts html table $x = 1; while[$x boundsheets[$i]['name'] .']'. sheetData[$excel->sheets[$i]] .'
'; } echo $excel_data; // outputs HTML tables with excel file data
- Trong kho lưu trữ với lớp PhpExcelReader, bạn sẽ tìm thấy một "bài kiểm tra. xls" để kiểm tra và hai ví dụ và nhận xét có chi tiết trong mã.
• Lớp này là phiên bản dành cho PHP 5. 3+ của lớp Spreadsheet_Excel_Reader, từ. Trang web PHP-ExcelReader.
hộp đá quý. Bảng tính là một. NET cho phép bạn xử lý các tệp Excel từ bất kỳ. ứng dụng NET. Nhưng nó cũng là một thư viện có thể truy cập COM mà bạn cũng có thể sử dụng trong PHP
yêu cầu hệ thống
Để sử dụng GemBox. bảng tính trong PHP, bạn sẽ cần phải
- Tải xuống và cài đặt GemBox. Thiết lập bảng tính
- lộ hộp đá quý. Bảng tính sang COM Tương tác với Regasm. công cụ exe.
:: Add GemBox.Spreadsheet to COM registry for x86 [32-bit] applications. C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe [path to installed GemBox.Spreadsheet.dll] :: Add GemBox.Spreadsheet to COM registry for x64 [64-bit] applications. C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe [path to installed GemBox.Spreadsheet.dll]
Làm việc với các tệp Excel trong PHP
Ví dụ sau đây cho thấy cách bạn có thể tạo một tệp Excel mới từ PHP và ghi một số dữ liệu bảng tính vào các ô của nó. Ngoài ra, ví dụ này cho thấy cách bạn có thể đọc tệp Excel hiện có và cập nhật các ô của nó
- PHP
Thư viện trình bao bọc
Không phải tất cả thành viên của GemBox. Có thể truy cập bảng tính do các giới hạn COM như các phương thức quá tải và tĩnh không được hỗ trợ. Đó là lý do tại sao bạn có thể sử dụng lớp ComHelper
cung cấp các lựa chọn thay thế cho một số thành viên không thể được gọi bằng COM Interop
Tuy nhiên nếu bạn có nhu cầu sử dụng nhiều GemBox. thành viên bảng tính từ PHP, một cách tiếp cận được khuyến nghị là tạo một. NET wrapper thư viện thay thế. Thư viện trình bao bọc của bạn sẽ thực hiện tất cả công việc bên trong và hiển thị một tập hợp tối thiểu các lớp và phương thức cho mã không được quản lý
Điều này sẽ cho phép bạn tận dụng GemBox. Khả năng đầy đủ của bảng tính, tránh mọi giới hạn COM và cải thiện hiệu suất bằng cách giảm số lượng Trình bao bọc có thể gọi COM được tạo trong thời gian chạy
Xem thêm
Tạo, đọc, ghi tệp Excel từ Python
Bước tiếp theo
hộp đá quý. Bảng tính là một. NET cho phép bạn đọc, viết, chỉnh sửa, chuyển đổi và in các tệp bảng tính từ. NET sử dụng một API đơn giản