【问题标题】:Find highest column in row PHPExcel在行 PHPExcel 中查找最高列
【发布时间】:2016-05-18 00:56:07
【问题描述】:

我正在尝试从 excel 文件中读取所有列,但它的数量因行而异。例如: 第 1 行、第 2 行、第 3 行、第 4 行 第 2 行,第 2 列,第 3 列 第 3 行,col2,col3,col4,col5,col6

我正在尝试做类似的事情:

for ($row = 1; $row < 2; $row++){
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
                                    NULL,
                                    TRUE,
                                    FALSE);
    echo print_r($rowData[0][0]);
    echo "<br>";
    $list_of_coordinates = "";
    $i = 1;
    //echo print_r($rowData[$row][$i+1]);
    while($rowData[0][$i+1] != ""){
      /*$list_of_coordinates = $list_of_coordinates . 
                             "," .
                             $rowData[0][$i+1] . 
                             "," .
                             $rowData[0][$i];
      */
      $i+2;
    }
    $list_of_coordinates = ltrim($list_of_coordinates, ",");
    echo $list_of_coordinates;
    echo "<br>";
  }

但是 $highestcolumn 有最大的列号,在这个文件中:BM。但有些行只有 3 或 4 列。这个号码可以更新吗?我的 while 循环现在不工作。

【问题讨论】:

  • 这个话题我们需要 Mark Ba​​ker,他是 PHPExcel 的大师。

标签: php phpexcel


【解决方案1】:

getHighestColumn()getHighestDataColumn() 方法接受可选的行号作为参数。如果在不传递任何参数的情况下调用,它们将返回工作表中的最高列号;但是如果使用行号调用,它们将返回指定行中的最高列。

但是,作为替代方案,您可以仅对现有单元格使用行和列迭代器(参见/Examples 中的28iterator.php)。

【讨论】:

  • 我可以让它与那个例子一起工作。谢谢马克
猜你喜欢
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 2021-06-24
  • 2020-01-28
  • 1970-01-01
相关资源
最近更新 更多