使用PHP将整个Excel文件显示为表格。

huangapple go评论83阅读模式
英文:

Displaying the whole excel file as a table using PHP

问题

我有一个包含多个工作表的Excel文件。我想在使用PHP时将Excel文件中的数据显示为表格,而无需插入数据库。

英文:

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.

答案1

得分: 1

你可以使用simplexlsx PHP库来完成这个任务。

以下是该库的代码:

<?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">';
    echo '<tr><td valign="top">';

    // output worksheet 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 worksheet 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();
}
?>

你可以在上述代码中看到如何使用simplexlsx PHP库来读取Excel文件的内容并将其输出为HTML表格。

英文:

You can do this by using simplexlsx PHP Library

below is the library code

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

&lt;?php
ini_set(&#39;error_reporting&#39;, E_ALL);
ini_set(&#39;display_errors&#39;, true);
require_once __DIR__.&#39;/../src/SimpleXLSX.php&#39;;
echo &#39;&lt;h1&gt;Read several sheets&lt;/h1&gt;&#39;;
if ( $xlsx = SimpleXLSX::parse(&#39;countries_and_population.xlsx&#39;)) {
echo &#39;&lt;pre&gt;&#39;.print_r( $xlsx-&gt;sheetNames(), true ).&#39;&lt;/pre&gt;&#39;;
echo &#39;&lt;table cellpadding=&quot;10&quot;&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;&#39;;
// output worsheet 1
$dim = $xlsx-&gt;dimension();
$num_cols = $dim[0];
$num_rows = $dim[1];
echo &#39;&lt;h2&gt;&#39;.$xlsx-&gt;sheetName(0).&#39;&lt;/h2&gt;&#39;;
echo &#39;&lt;table border=1&gt;&#39;;
foreach ( $xlsx-&gt;rows( 1 ) as $r ) {
echo &#39;&lt;tr&gt;&#39;;
for ( $i = 0; $i &lt; $num_cols; $i ++ ) {
echo &#39;&lt;td&gt;&#39; . ( ! empty( $r[ $i ] ) ? $r[ $i ] : &#39;&amp;nbsp;&#39; ) . &#39;&lt;/td&gt;&#39;;
}
echo &#39;&lt;/tr&gt;&#39;;
}
echo &#39;&lt;/table&gt;&#39;;
echo &#39;&lt;/td&gt;&lt;td valign=&quot;top&quot;&gt;&#39;;
// output worsheet 2
$dim = $xlsx-&gt;dimension( 2 );
$num_cols = $dim[0];
$num_rows = $dim[1];
echo &#39;&lt;h2&gt;&#39;.$xlsx-&gt;sheetName(1).&#39;&lt;/h2&gt;&#39;;
echo &#39;&lt;table border=1&gt;&#39;;
foreach ( $xlsx-&gt;rows( 2 ) as $r ) {
echo &#39;&lt;tr&gt;&#39;;
for ( $i = 0; $i &lt; $num_cols; $i ++ ) {
echo &#39;&lt;td&gt;&#39; . ( ! empty( $r[ $i ] ) ? $r[ $i ] : &#39;&amp;nbsp;&#39; ) . &#39;&lt;/td&gt;&#39;;
}
echo &#39;&lt;/tr&gt;&#39;;
}
echo &#39;&lt;/table&gt;&#39;;
echo &#39;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#39;;
} else {
echo SimpleXLSX::parseError();
}

huangapple
  • 本文由 发表于 2020年1月6日 20:12:31
  • 转载请务必保留本文链接:https://go.coder-hub.com/59611903.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定