为了账号安全,请及时绑定邮箱和手机立即绑定

如何在PhpSpreadsheet中获取第一列索引

如何在PhpSpreadsheet中获取第一列索引

PHP
慕村225694 2021-06-17 14:01:50
我必须遍历 xls 文档前两列的所有行。问题是该特定文档的第一列是“G”,索引为 7。有没有办法获得第一列索引,因为我不想对其进行硬编码。我的循环:$spreadsheet =\PhpOffice\PhpSpreadsheet\IOFactory::load($path);$worksheet = $spreadsheet->getActiveSheet();$highestRow = $worksheet->getHighestRow();$rows = [];for ($row = 1; $row <= $highestRow; ++$row) {    // I WANT TO REPLACE HARD-CODED VALUES OF 7 AND 8    // WITH $firstCol and $firstCol+1    for ($col = 7; $col <= 8; ++$col) {         $value = $worksheet->getCellByColumnAndRow($col, $row)->getValue();        $rows[$row][$col] = $value;    }}
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以添加一个while循环来跳过空单元格。试试这个:


$rows = [];

for ($row = 1; $row <= $highestRow; ++$row) {

    $col = 1;

    $cell = $worksheet->getCellByColumnAndRow($col, $row);

    // Skip empty cells

    while (in_array($cell->getValue(), [null, ''], true)) {

        $col++;

        $cell = $worksheet->getCellByColumnAndRow($col, $row);

    }

    $maxCol = $col + 1;

    for ( ; $col <= $maxCol; ++$col) { 

        $value = $worksheet->getCellByColumnAndRow($col, $row)->getValue();

        $rows[$row][$col] = $value;

    }

}


查看完整回答
反对 回复 2021-06-19
  • 1 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信