通过坐标获取细胞

miq*_*bal 5 php phpexcel

foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {

    foreach ($worksheet->getRowIterator() as $row) {
        $cellIterator = $row->getCellIterator();
        $cellIterator->setIterateOnlyExistingCells(false);
            // I wish
            echo $cellIterator->getCell("A3"); // row: $row, cell: A3
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个类似于getCell上面命名的方法或精心编写的PHPExcel文档.

谢谢.

ari*_*ayu 13

如果您拥有$rowRowIterator 的信息,您可以轻松致电:

$rowIndex = $row->getRowIndex ();
$cell = $sheet->getCell('A' . $rowIndex);
echo $cell->getCalculatedValue();
Run Code Online (Sandbox Code Playgroud)

完整的代码是:

foreach($worksheet->getRowIterator() as $row){
    $rowIndex = $row->getRowIndex();

    $cell = $worksheet->getCell('A' . $rowIndex);
    echo $cell->getCalculatedValue();
    $cell = $worksheet->getCell('B' . $rowIndex);
    echo $cell->getCalculatedValue();
}
Run Code Online (Sandbox Code Playgroud)


Die*_*itz 6

这就是我需要的:

function coordinates($x,$y){
 return PHPExcel_Cell::stringFromColumnIndex($x).$y;
}
Run Code Online (Sandbox Code Playgroud)

执行:

coordinates(5,7); //returns "E7"
Run Code Online (Sandbox Code Playgroud)

虽然也可以为AZ列执行此操作:

function toNumber($dest)
{
    if ($dest)
        return ord(strtolower($dest)) - 96;
    else
        return 0;
}

function lCoordinates($x,$y){
 $x = $toNumber($x);
 return PHPExcel_Cell::stringFromColumnIndex($x).$y;
}
Run Code Online (Sandbox Code Playgroud)

执行:

lCoordinates('E',7); //returns "E7"
Run Code Online (Sandbox Code Playgroud)