在 PhpSpreadsheet 中遍历 rangeToArray()

Iterating through rangeToArray() in PhpSpreadsheet

我有 Excel 个工作表需要用来执行计算。 我正在使用 PHP 电子表格进行读写,因为 PHPExcel 现已弃用。

我遇到的问题是从特定列获取值以执行计算。

阅读文档后,我发现可以使用 rangeToArray() 函数来检索值。 我的代码如下所示:

$inputFiletype = 'Xlsx';
$inputFileName = './helloworld.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);

$find_val = $spreadsheet->getActiveSheet()->rangeToArray('K1:K5');

根据文档,这会创建一个数组 ($find_vals)。 但是,当我尝试遍历数组以查看值时,我收到 'Array to string Conversion' 通知,输出为 "Array".

如果我使用 var_dump,我会得到以下结果:

array(5) { [0]=> array(1) { [0]=> float(1) } [1]=> array(1) { [0]=> float(2) } [2]=> array(1) { [0]=> float(3) } [3]=> array(1) { [0]=> float(4) } [4]=> array(1) { [0]=> float(5) } } 

我试过以下循环代码:

for($i=0; $i<=4; $i++) {
    echo (string)$find_val[$i];
}

以及

foreach($find_val as $vals) {
    echo $vals;
}

我还尝试了以下方法,结果略有不同:

for($i=0; $i<=4; $i++) {
    echo (string)$find_val[$i][$i];
}

这输出了一个值,并给了我其他 4 次迭代的未定义偏移错误。

我如何才能使用 PhpSpreadsheet 成功地遍历 rangeToArray 值 API?

提前致谢。

相似的回答here

foreach ($find_val as $cell) {
    foreach ($cell as $finalValue) {
        echo $finalValue . "\r\n";
    }
}

刚看到你的post。你试过这个吗?
你快到了。

foreach($sheetData as $vals) {
    echo $vals[0];
}