Home » excel » html – Displaying the whole excel file as a table using PHP

html – Displaying the whole excel file as a table using PHP

Posted by: admin May 14, 2020 Leave a comment

Questions:

I have a excel file with multiple sheets. I want to display the data in excel file as a table using PHP without inserting to database.

How to&Answers:

You can do this by using simplexlsx PHP Library

below is the library code

https://github.com/fahadpatel/simplexlxs.git

<?php

ini_set('error_reporting', E_ALL);
ini_set('display_errors', true);

require_once __DIR__.'/../src/SimpleXLSX.php';

echo '<h1>Read several sheets</h1>';
if ( $xlsx = SimpleXLSX::parse('countries_and_population.xlsx')) {

    echo '<pre>'.print_r( $xlsx->sheetNames(), true ).'</pre>';

    echo '<table cellpadding="10">
    <tr><td valign="top">';

    // output worsheet 1

    $dim = $xlsx->dimension();
    $num_cols = $dim[0];
    $num_rows = $dim[1];

    echo '<h2>'.$xlsx->sheetName(0).'</h2>';
    echo '<table border=1>';
    foreach ( $xlsx->rows( 1 ) as $r ) {
        echo '<tr>';
        for ( $i = 0; $i < $num_cols; $i ++ ) {
            echo '<td>' . ( ! empty( $r[ $i ] ) ? $r[ $i ] : '&nbsp;' ) . '</td>';
        }
        echo '</tr>';
    }
    echo '</table>';

    echo '</td><td valign="top">';

    // output worsheet 2

    $dim = $xlsx->dimension( 2 );
    $num_cols = $dim[0];
    $num_rows = $dim[1];

    echo '<h2>'.$xlsx->sheetName(1).'</h2>';
    echo '<table border=1>';
    foreach ( $xlsx->rows( 2 ) as $r ) {
        echo '<tr>';
        for ( $i = 0; $i < $num_cols; $i ++ ) {
            echo '<td>' . ( ! empty( $r[ $i ] ) ? $r[ $i ] : '&nbsp;' ) . '</td>';
        }
        echo '</tr>';
    }
    echo '</table>';

    echo '</td></tr></table>';
} else {
    echo SimpleXLSX::parseError();
}