phpexcel仅循环选定的列

时间:2011-07-22 15:30:03

标签: php phpexcel

我有一个巨大的工作表作为我的输入,但我必须阅读所有列,我必须读取选定的列只有像36,列中的B,H,I和J,如果有些代码,我将非常感谢还提供了4-5行。 在妈妈,我使用以下代码!

$objWorksheet = $objPHPExcel->setActiveSheetIndex('0') ;  
$i=0;$dum=false;$sum=0; 
foreach ($objWorksheet->getRowIterator() as $row)  
{
$cellIterator = $row->getCellIterator();

$cellIterator->setIterateOnlyExistingCells(false); 
if($dum)
{                                                  // iterated.
foreach ($cellIterator as $cell) 
{    if($i==1||$i==7||$i==8||$i==9)
    {
             if($i==1)
             {
             $value[$i]=$cell->getValue();
             $pieces = explode("_", $value[$i]);
          $asd=preg_split('#(?=\d)(?<=[a-z])#i',$pieces[0] );
            // $value[$i]=$asd[1];

             }
             if($i==7)
             {
             $value[$i]=PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'Y-m-d H:i:s'); 
             $A=date('Y-m-d', strtotime($value[$i]));
             $value[7]=$A;

             }
             if($i==8)
             {
             $value[$i]=PHPExcel_Style_NumberFormat::toFormattedString($cell->getCalculatedValue(), 'Y-m-d H:i:s'); ;
             $num2=$value[$i];
             }
             if($i==9)
             { 
             $value[$i]=$cell->getValue(); 

             }
             echo $value[$i]; echo "|||||||";
                    }$i++; 

}$i=0; echo "<br>";

1 个答案:

答案 0 :(得分:5)

这可能会更快:

$highestRow = $objWorksheet->getHighestRow(); 
for ($row = 0; $row <= $highestRow; ++$row) {
    // Fetch the data of the columns you need
    $col1 = $objWorksheet->getCellByColumnAndRow(1, $row)->getValue();
    $col7 = $objWorksheet->getCellByColumnAndRow(7, $row)->getValue();
    $col8 = $objWorksheet->getCellByColumnAndRow(8, $row)->getValue();
    $col9 = $objWorksheet->getCellByColumnAndRow(9, $row)->getValue();

    /*
    ** INSERT HERE YOUR PHP CODE
    */

    echo $col1."||||||".$col7."||||||".$col8."||||||".$col9;
}