4 Stimmen

phpexcel durchläuft nur ausgewählte Spalten

Ich habe ein riesiges Blatt als meine Eingabe, aber ich muss nicht alle Spalten lesen, sondern nur ausgewählte Spalten wie B, H, I und J aus 36 Spalten und ich werde sehr dankbar sein, wenn ein Code auch 4-5 Zeilen zur Verfügung gestellt wird. Im Moment benutze ich den folgenden Code!

$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>";

5voto

Imad Moqaddem Punkte 1413

Dies wird wahrscheinlich schneller sein:

$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;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X