如何使用PHPExcel获取excel当前单元格的列索引?

时间:2015-10-01 04:33:48

标签: php phpexcel

我正在尝试使用PHPExcel获取当前活动单元格的索引。我到目前为止所尝试的是:

// Get worksheet dimensions
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn();
    for ($row = 1; $row <= $highestRow; $row++){ 
        for($col = 1; $col <= $highestColumn; $col++){
           $cell = $sheet->getCellByColumnAndRow($col, $row);
           $colIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn());
            echo $colIndex;
      }
}

它不会在浏览器上显示任何内容。任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:3)

$highestColumn = $sheet->getHighestColumn();

返回包含最高列地址的字符串(例如“IV”,但您将$col计为数字,并将其与该字符串进行比较,因此循环并没有做太多的事情。(PHP宽松的比较规则)

使用$ col作为以“A”开头的基于字符的列地址进行迭代

// Get worksheet dimensions
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn();
$highestColumn++;
    for ($row = 1; $row <= $highestRow; $row++){ 
        for($col = 'A'; $col != $highestColumn; $col++){
           $cell = $sheet->getCellByColumnAndRow($col, $row);
           $colIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn());
            echo $colIndex;
      }
}

请注意,您需要增加$highestColumn,然后使用!=而不是<=进行比较