在 PHP 中加载 Excel 文档时,一 table 列过多
One table column too much on loaded Excel Document in PHP
我制作了一个脚本,您可以在其中插入一个 Excel 文档,它将在网站上显示为 table。但是有一个错误,在每个加载的 table 列之间有一个额外的列。
这是我的例子Excel 文件:
Excel Example File
这是我的浏览器输出,我加载了一个 Excel 文档,您可以在其中看到一列太多:
Browser-Output
我标记了太多的额外列,当你将输出与文件进行比较时,你可以看到在原始文件中,Words 之间不是空列。
这是我使用的代码(我也在使用PHPExcel),table是在两个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>
你能帮我看看为什么会出现这个额外的列吗?
在您的内部 foreach
中,您永远不会关闭 <td>
,而是创建另一列。将其更改为:
foreach ($getSheet as $item) {
echo "<td>". @$getSheet[$rundeAnzahl][$x] . "</td>";
$x = $x + 1;
}
我制作了一个脚本,您可以在其中插入一个 Excel 文档,它将在网站上显示为 table。但是有一个错误,在每个加载的 table 列之间有一个额外的列。
这是我的例子Excel 文件: Excel Example File
这是我的浏览器输出,我加载了一个 Excel 文档,您可以在其中看到一列太多: Browser-Output 我标记了太多的额外列,当你将输出与文件进行比较时,你可以看到在原始文件中,Words 之间不是空列。
这是我使用的代码(我也在使用PHPExcel),table是在两个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>
你能帮我看看为什么会出现这个额外的列吗?
在您的内部 foreach
中,您永远不会关闭 <td>
,而是创建另一列。将其更改为:
foreach ($getSheet as $item) {
echo "<td>". @$getSheet[$rundeAnzahl][$x] . "</td>";
$x = $x + 1;
}