我试图从xlsx文件中的单元格中获取值。我在我的2个循环中使用getCellbyColumnAndRow()->getValue()
函数。
$file = 'test.xlsx';
try {
$inputFileType = PHPExcel_IOFactory::identify($file);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($file);
$sheet = $objPHPExcel->getActiveSheet();
} catch(Exception $e) {
die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
// get worksheet dimentions
$higestRow = $sheet->getHighestDataRow();
$highestCol = $sheet->getHighestDataColumn();
//get value from all the cells
for($i = 1; $i <= $higestRow; $i++){
for($j = 'A'; $j <= $highestCol; $i++){
echo $sheet->getCellByColumnAndRow($j, $i)->getValue();
echo "</br>";
}
}
但似乎陷入了无限循环。为什么呢?
此外,当我getCellByColumnAndRow('I', 16);
时,我会获得单元格A16
中的值。但是当我做getCellByColumnAndRow(8,16)
时。我从I16
获得了价值。所以这也意味着行索引从1开始,列索引从1开始。
答案 0 :(得分:1)
这个for循环看起来不对,你正在递增$i
而我认为你要增加$j
//for($j = 'A'; $j <= $highestCol; $i++){
//---------------------------------^^^^
应该是
for($j = 'A'; $j <= $highestCol; $j++){
答案 1 :(得分:1)
我认为行$j++
for($j = 'A'; $j <= $highestCol; $i++){