获取Excel工作表的特定行
问题描述:
我想只读取所有行的列1,3,6和7。我试过这样但它不起作用。获取Excel工作表的特定行
$objPHPExcel = PHPExcel_IOFactory::load($file);
$sheet = $objPHPExcel->getSheetByName('Prefixes');
$i =2;
foreach($sheet->getRowIterator() as $row){
$dest = $sheet->getCellByColumnAndRow(1, $i)->getValue();
$code = $sheet->getCellByColumnAndRow(3, $i)->getValue();
$price = trim($sheet->getCellByColumnAndRow(6,$i)->getCalculatedValue());
$date = date('Y-m-d',PHPExcel_Shared_Date::ExcelToPHP($sheet->getCellByColumnAndRow(7,$i)->getCalculatedValue()));
$rateSheet[] = array($dest,$code,$price,$date);
$i++;
}
答
如果它可能会帮助别人,这是正确的做法:
$rateSheet=array();
$objPHPExcel = PHPExcel_IOFactory::load($file);
if($file=="519340.xls"){
echo "</br>OK</br>";
$sheet = $objPHPExcel->getSheetByName('Prefixes');
$i =2;
$highestRow=$objPHPExcel->setActiveSheetIndex(1)->getHighestRow();
echo $highestRow;
for($j=0;$j<$highestRow;$j++){
$dest = $sheet->getCellByColumnAndRow(0, $i)->getValue();
$code = $sheet->getCellByColumnAndRow(2, $i)->getValue();
$price = trim($sheet->getCellByColumnAndRow(5,$i)->getCalculatedValue());
$date = date('Y-m-d',PHPExcel_Shared_Date::ExcelToPHP($sheet->getCellByColumnAndRow(6,$i)->getCalculatedValue()));
$rateSheet[] = array($dest,$code,$price,$date);
$i++;
}
return $rateSheet;
你能解释一下你的“不工作”是什么意思?它是否显示任何错误消息?它会返回错误的数据吗?它是否会将您的服务器着火?为什么你使用rowIterator,然后直接寻址单个单元格? –
计数可能从0开始,记住 – CDrosos
它就像一个无限循环,我的屋顶着火了:P。迭代每行并获取每行的值是不正确的?那我该怎么做呢? –