Chào mừng bạn đến với hướng dẫn nhanh về cách đọc và hiển thị tệp Excel trong HTML. Vì vậy, bạn có một báo cáo hoặc tệp nhật ký ở định dạng tệp Excel và muốn hiển thị nó trên một trang web HTML?
PHP không có hàm riêng để đọc tệp Excel. Chúng ta cần sử dụng một thư viện như PHPSpreadSheet để đọc các tệp Excel, sau đó xuất chúng dưới dạng HTML tương ứng
Có, và nó thực sự không khó lắm – Đọc tiếp để biết ví dụ
TLDR – TRANG TRÌNH BÀY NHANH
Tải xuống & Ghi chú
TẢI XUỐNG & LƯU Ý
Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa
GHI CHÚ NHANH
- Bản sao của PHPSpreadSheet không được bao gồm trong tệp zip – Vui lòng tự tải xuống phiên bản mới nhất
MÃ VÍ DỤ TẢI XUỐNG
Nhấp vào đây để tải xuống tất cả mã nguồn ví dụ, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn đó hoặc sử dụng nó trong dự án của riêng bạn
HIỂN THỊ PHP EXCEL NHƯ HTML
Bây giờ chúng ta hãy đi vào ví dụ đọc tệp Excel bằng PHP và xuất tệp đó bằng HTML
BƯỚC 1) TẢI XUỐNG PHPSPREADSHEET
Như trong phần giới thiệu ở trên, PHP không hỗ trợ định dạng tệp Excel nguyên bản. Chúng ta cần sử dụng thư viện PHPSpreadSheet để mở và đọc file Excel. Bạn có thể thực hiện thao tác lấy trực tiếp từ GitHub, nhưng cấu trúc thư mục của chúng là một bí ẩn và tôi cũng không thể hiểu cách thức hoạt động của nó… Vì vậy, cách dễ dàng hơn là
- Tải xuống và cài đặt trình quản lý gói có tên Composer
- Mở dấu nhắc lệnh (hoặc thiết bị đầu cuối) và điều hướng đến thư mục dự án của bạn cd YOUR-HTTP-FOLDER
- Chạy composer require phpoffice/phpspreadsheet
Vậy là xong, Composer sẽ tự động download phiên bản PHPSpreadSheet mới nhất vào thư mục vendor/, và chúng ta có thể dễ dàng sử dụng với require "vendor/autoload.php"
BƯỚC 2) TẬP TIN EXCEL GIẢ
Đối với ví dụ này, chúng tôi sẽ sử dụng Excel giả đơn giản sau đây
TênEmailJoa Doejoa@doe. comJob Doejob@doe. comJoe Doejoe@doe. comJon Doejon@doe. comJoy Doejoy@doe. com
BƯỚC 3) ĐỌC EXCEL và XUẤT HTML
3-excel-html. php
<table><?php // (A) PHPSPREADSHEET TO LOAD EXCEL FILE require "vendor/autoload.php"; $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx(); $spreadsheet = $reader->load("2-demo.xlsx"); $worksheet = $spreadsheet->getActiveSheet(); // (B) LOOP THROUGH ROWS OF CURRENT WORKSHEET foreach ($worksheet->getRowIterator() as $row) { // (B1) READ CELLS $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); // (B2) OUTPUT HTML echo "<tr>"; foreach ($cellIterator as $cell) { echo "<td>". $cell->getValue() ."</td>"; } echo "</tr>"; } ?></table>Đó là tất cả những gì dành cho hướng dẫn và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn
TẾ BÀO CÓ CÔNG THỨC
Hãy lưu ý rằng PHPSpreadsheet sẽ không đánh giá các công thức. Chỉ cần thực hiện "chuyển đổi công thức thành các giá trị được tính toán" trong Excel và lưu nó dưới dạng một bảng tính riêng trước
LIÊN KẾT và THAM KHẢO
- Tài liệu PHPSpreadSheet
VIDEO HƯỚNG DẪN
BẢNG CHEAT INFOGRAPHIC
Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc
Phân tích cú pháp và truy xuất dữ liệu từ tệp Excel XLSx. Sổ làm việc MS Excel 2007 Trình đọc PHP. Không cần tiện ích mở rộng bổ sung (giải nén nội bộ + trình phân tích cú pháp SimpleXML tiêu chuẩn)
Xem thêm
Trình đọc php định dạng cũ SimpleXLS MS Excel 97
Trình viết php SimpleXLSXGen xlsx
Này, anh bạn, làm ơn? . ) và donate để có thêm động lực
Serge Shuchkin
Sử dụng cơ bản
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) { print_r( $xlsx->rows() ); } else { echo SimpleXLSX::parseError(); } Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) // SimpleXLSX::parse( $filename, $is_data = false, $debug = false ): SimpleXLSX (or false) // SimpleXLSX::parseFile( $filename, $debug = false ): SimpleXLSX (or false) // SimpleXLSX::parseData( $data, $debug = false ): SimpleXLSX (or false)Cài đặt
Cách khuyến nghị để cài đặt thư viện này là thông qua Composer. Bạn mới sử dụng Trình soạn nhạc?
Điều này sẽ cài đặt phiên bản được hỗ trợ mới nhất
$ composer require shuchkin/simplexlsxhoặc tải lớp tại đây
ví dụ
Bảng XLSX sang html
echo SimpleXLSX::parse('book.xlsx')->toHTML();hoặc là
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) { echo ''; foreach( $xlsx->rows() as $r ) { echo ''; } echo ''.implode('', $r ).''; } else { echo SimpleXLSX::parseError(); }XLSX đọc ô, bỏ dấu phẩy và tiêu đề in đậm
echo ''; if ( $xlsx = SimpleXLSX::parse( 'xlsx/books.xlsx' ) ) { foreach ( $xlsx->rows() as $r => $row ) { foreach ( $row as $c => $cell ) { echo ($c > 0) ? ', ' : ''; echo ( $r === 0 ) ? ''.$cell.'' : $cell; } echo ''; } } else { echo SimpleXLSX::parseError(); } echo '';
XLSX lấy tên trang tính và chỉ mục trang tính
if ( $xlsx = SimpleXLSX::parse( 'xlsx/books.xlsx' ) ) { print_r( $xlsx->sheetNames() ); print_r( $xlsx->sheetName( $xlsx->activeSheet ) ); } // Sheet numeration started 0 Array ( [0] => Sheet1 [1] => Sheet2 [2] => Sheet3 ) Sheet2Nhận thông tin ô mở rộng bằng ->rowsEx()
print_r( SimpleXLSX::parse('book.xlsx')->rowsEx() ); Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 0Chọn trang tính
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 1Nhận trang tính theo chỉ mục
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 2XLSX. phân tích dữ liệu từ xa
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 3XLSX. phân tích dữ liệu bộ nhớ
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 4Nhận di động (chậm)
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 5Trình trợ giúp DateTime
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 6Các hàng có giá trị tiêu đề là khóa
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 7Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 8gỡ lỗi
Array ( [0] => Array ( [0] => ISBN [1] => title [2] => author [3] => publisher [4] => ctry ) [1] => Array ( [0] => 618260307 [1] => The Hobbit [2] => J. R. R. Tolkien [3] => Houghton Mifflin [4] => USA ) ) 9Phong cách OOP cổ điển
// SimpleXLSX::parse( $filename, $is_data = false, $debug = false ): SimpleXLSX (or false) // SimpleXLSX::parseFile( $filename, $debug = false ): SimpleXLSX (or false) // SimpleXLSX::parseData( $data, $debug = false ): SimpleXLSX (or false) 0Thêm ví dụ ở đây
Mã lỗi
Đơn giảnXLSX. ParseErrno(), $xlsx->errno()