Нужна помощь в выявлении странной проблемы, с которой я сталкиваюсь. Я попытался выполнить поиск в переполнении стека, но не нашел ответа.PHPExcel цикл через строки и столбцы
Вот пример программы, которая работает отображение всех строк и столбцов на UI
<?php
date_default_timezone_set('America/Los_Angeles');
require_once 'PHPExcel-1.8/Classes/PHPExcel.php';
include 'PHPExcel-1.8/Classes/PHPExcel/IOFactory.php';
$path = 'demo.xlsx';
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
for ($row = 2; $row <= $highestRow; ++ $row) {
$val=array();
for ($col = 0; $col < $highestColumnIndex; ++ $col) {
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val[] = $cell->getValue();
//End of For loop
}
$Col1 = $val[0] ;
$Col2 = $val[1] ;
$Col3 = $val[2];
echo $Col1;
echo $Col2;
echo $Col3;
echo "<br>";
//End of for loop
}
?>
Эта программа работает прекрасно печать всех столбцов и строк для п-клыков
Проблема - Теперь наше требование для получения значений Col1, Col2, Col3 и использования mysql_query в базе данных и дальнейших действий.
Минуту добавим что-нибудь выше // Конец цикла for. Он только выполняет итерацию один раз и останавливается без метаданных ошибок php.
например.
.....
echo $Col1;
echo $Col2;
echo $Col3;
echo "<br>";
**$sql = mysql_query("select COALESCE(MAX(SrNo), 0) AS Max_No from TABLEA where ColumnA = 1 and ColumnB = '$Col3'");
$row = mysql_fetch_array($sql);
echo $row["Max_No"];**
//End of for loop
}
?>
Если мы добавим выше SQL ту же программу только итерацию один раз и останавливается? Он не показывает ошибок в журналах или на экране.
Заранее за вашу помощь !.
@arkascha - Первая программа правильно печатает все столбцы и строки. Вы можете попробовать попробовать, добавив простой demo.xls. После добавления второй части программы он только выполняет итерацию один раз и прекращает работу. –