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.