循环遍历Excel文档中的记录

时间:2011-02-01 10:02:49

标签: php excel loops

我需要遍历excel文件中的一些记录并将它们作为HTML表的标题输出,但我不知道什么是最好的方法,因为我是PHP的新手。

每个列标题都以标题开头,后跟索引,因此您拥有:

Country1,Country2,Country3 ....至Country50。

我想有一种更自动的方法来检索这些值,而不是坚持

$ result。=“$ Country1”;

每个还必须包含国家的ID,也应该转换为数组,即另一个因此,如果是这样的话,它们不需要打印,因此结果可能是

<th id="Country1">Value of Country1</th>
<th id="Country2">Value of Country2</th>
<th id="Country3">Value of Country3</th>
<th id="Country8">Value of Country8</th>
<th id="Country24">Value of Country24</th>
<th id="Country30">Value of Country30</th>

这样做的最佳“代号灯”方法是什么?

问候!

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

<?php
$handle = @fopen("/tmp/myfile.csv", "r");
if ($handle) {

    // first line should be the header, we make it an array of strings
    if ( ($buffer = fgets($handle, 4096)) !== false )
      $headers[] = explode(",", $buffer);
    else
      echo "Error: empty file...\n";

    // second line should be the values, for each line we output the xml markups
    while ( ($buffer = fgets($handle, 4096)) !== false )
    {
        $values[] = explode(",", $buffer);

        if( count($headers) != count(values) )
          echo "Error: the 2 lines do not have same number of columns...\n";
        else
        {
            for( $i = 0 ; $i < count($headers) ; $i++ )
              echo "<th id='".$headers[$i]."'>".$values[$i]."</th>\n";
        }
    }
    else
      echo "Error: second line empty...\n";

    if ( !feof($handle) )
      echo "Erreur: fgets() failed...\n";

    fclose($handle);
}
?>