dty98339 2018-10-17 22:13
浏览 395
已采纳

通过PhpSpreadsheet中的rangeToArray()进行迭代

I have Excel sheets that I need to perform calculations with. I am using PHPSpreadsheet to read and write, as PHPExcel is now deprecated.

The problem I am experiencing is in getting values from a specific column to perform calculations.

After going through the documentation, I found that I can use the rangeToArray() function to retrieve the values. My code looks like this:

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

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

This, according to the documentation, creates an array ($find_vals). However, when I attempt to loop through the array to view the values, I get an 'Array to string Conversion' notice, with the output of "Array".

If I use var_dump, I get the following:

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) } } 

I have tried the following loop codes:

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

as well as

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

I have also tried the following which changed the result a little:

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

This output one value, and gave me Undefined Offset errors for the other 4 iterations.

How would I be able to successfully iterate through a rangeToArray value using the PhpSpreadsheet API?

Thanks in advance.

  • 写回答

1条回答 默认 最新

  • duanjiao7440 2018-10-18 00:20
    关注

    Similar answer here

    foreach ($find_val as $cell) {
        foreach ($cell as $finalValue) {
            echo $finalValue . "
    ";
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。