在PHP中加载的Excel文档上一个表列太多

问题描述 投票:0回答:1

我制作了一个脚本,您可以在其中插入Excel文档,该文档将在网站上显示为表格。但是有一个错误,在每个加载的表列之间都有一个额外的列。

这是我的示例Excel文件:Excel Example File

这是我的浏览器输出,我们加载了一个Excel文档,在那里您看到的列太多了:Browser-Output我将多余的列标记为太多,当您将输出与文件进行比较时,可以看到在原始fils中单词之间不是空列。

这是我使用的代码(我也使用PHPExcel),该表是在两个foreach循环中生成的:

-------------------------------- index.php ------------- --------------------

    <?php
  require_once 'Classes/PHPExcel/IOFactory.php';

  if (isset($_FILES['excelFile']) && !empty($_FILES['excelFile']['tmp_name']))
  {
     $excelObject = PHPExcel_IOFactory::load($_FILES['excelFile']['tmp_name']);
     $getSheet = $excelObject->getActiveSheet()->toArray(null);

     echo "<table>";
     $rundeAnzahl = 0;
     foreach ($getSheet as  $zeile) {
         echo "<tr>";

         $x = 0;
         foreach ($getSheet as $item)
         {
           echo "<td>". @$getSheet[$rundeAnzahl][$x] . "<td>";
           $x = $x + 1;
         }
         echo "</tr>";
         $rundeAnzahl += 1;
     }
  }

 ?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Excel Tabelle</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <form class="" action="" method="post" enctype="multipart/form-data">
        <input type="file" name="excelFile" value="">
        <input type="submit" name="" value="Submit">
    </form>
  </body>
</html>

您能帮我一下,找出为什么显示此多余的列吗?

php html loops html-table phpexcel
1个回答
0
投票

在内部foreach中,您永远不会关闭<td>,而是创建另一列。更改为:

foreach ($getSheet as $item) {
    echo "<td>". @$getSheet[$rundeAnzahl][$x] . "</td>";
    $x = $x + 1;
}
© www.soinside.com 2019 - 2024. All rights reserved.