У меня есть листы Excel, с которыми мне нужно выполнять расчеты.Я использую PHPSpreadsheet для чтения и записи, поскольку PHPExcel теперь устарел.
Проблема, с которой я сталкиваюсь, заключается в получении значений из определенного столбца для выполнения вычислений.
После изучения документации,Я обнаружил, что могу использовать функцию rangeToArray () для получения значений.Мой код выглядит так:
$inputFiletype = 'Xlsx';
$inputFileName = './helloworld.xlsx';
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
$find_val = $spreadsheet->getActiveSheet()->rangeToArray('K1:K5');
Это, согласно документации, создает массив ($ find_vals).Однако, когда я пытаюсь перебрать массив для просмотра значений, я получаю уведомление «Преобразование массива в строку» с выводом «Массив».
Если я использую 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 итераций.
Как я могу успешно выполнить итерацию по значению rangeToArray с помощью API PhpSpreadsheet?
Заранее спасибо.